Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1936)

Side by Side Diff: patched-ffmpeg-mt/libavformat/oggdec.c

Issue 789004: ffmpeg roll of source to mar 9 version... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/ffmpeg/
Patch Set: '' Created 10 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Ogg bitstream support 2 * Ogg bitstream support
3 * Luca Barbato <lu_zero@gentoo.org> 3 * Luca Barbato <lu_zero@gentoo.org>
4 * Based on tcvp implementation 4 * Based on tcvp implementation
5 * 5 *
6 */ 6 */
7 7
8 /** 8 /**
9 Copyright (C) 2005 Michael Ahlberg, Måns Rullgård 9 Copyright (C) 2005 Michael Ahlberg, Måns Rullgård
10 10
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 for (i = 0; i < ogg->nstreams; i++){ 125 for (i = 0; i < ogg->nstreams; i++){
126 struct ogg_stream *os = ogg->streams + i; 126 struct ogg_stream *os = ogg->streams + i;
127 os->bufpos = 0; 127 os->bufpos = 0;
128 os->pstart = 0; 128 os->pstart = 0;
129 os->psize = 0; 129 os->psize = 0;
130 os->granule = -1; 130 os->granule = -1;
131 os->lastpts = AV_NOPTS_VALUE; 131 os->lastpts = AV_NOPTS_VALUE;
132 os->lastdts = AV_NOPTS_VALUE; 132 os->lastdts = AV_NOPTS_VALUE;
133 os->nsegs = 0; 133 os->nsegs = 0;
134 os->segp = 0; 134 os->segp = 0;
135 os->incomplete = 0;
135 } 136 }
136 137
137 ogg->curidx = -1; 138 ogg->curidx = -1;
138 139
139 return 0; 140 return 0;
140 } 141 }
141 142
142 static const struct ogg_codec * 143 static const struct ogg_codec *
143 ogg_find_codec (uint8_t * buf, int size) 144 ogg_find_codec (uint8_t * buf, int size)
144 { 145 {
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 if (get_buffer (bc, os->segments, nsegs) < nsegs) 273 if (get_buffer (bc, os->segments, nsegs) < nsegs)
273 return -1; 274 return -1;
274 275
275 os->nsegs = nsegs; 276 os->nsegs = nsegs;
276 os->segp = 0; 277 os->segp = 0;
277 278
278 size = 0; 279 size = 0;
279 for (i = 0; i < nsegs; i++) 280 for (i = 0; i < nsegs; i++)
280 size += os->segments[i]; 281 size += os->segments[i];
281 282
282 if (flags & OGG_FLAG_CONT){ 283 if (flags & OGG_FLAG_CONT || os->incomplete){
283 if (!os->psize){ 284 if (!os->psize){
284 while (os->segp < os->nsegs){ 285 while (os->segp < os->nsegs){
285 int seg = os->segments[os->segp++]; 286 int seg = os->segments[os->segp++];
286 os->pstart += seg; 287 os->pstart += seg;
287 if (seg < 255) 288 if (seg < 255)
288 break; 289 break;
289 } 290 }
290 } 291 }
291 }else{ 292 }else{
292 os->psize = 0; 293 os->psize = 0;
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 int ss = os->segments[os->segp++]; 368 int ss = os->segments[os->segp++];
368 os->psize += ss; 369 os->psize += ss;
369 if (ss < 255){ 370 if (ss < 255){
370 complete = 1; 371 complete = 1;
371 break; 372 break;
372 } 373 }
373 } 374 }
374 375
375 if (!complete && os->segp == os->nsegs){ 376 if (!complete && os->segp == os->nsegs){
376 ogg->curidx = -1; 377 ogg->curidx = -1;
378 os->incomplete = 1;
377 } 379 }
378 }while (!complete); 380 }while (!complete);
379 381
380 #if 0 382 #if 0
381 av_log (s, AV_LOG_DEBUG, 383 av_log (s, AV_LOG_DEBUG,
382 "ogg_packet: idx %i, frame size %i, start %i\n", 384 "ogg_packet: idx %i, frame size %i, start %i\n",
383 idx, os->psize, os->pstart); 385 idx, os->psize, os->pstart);
384 #endif 386 #endif
385 387
386 ogg->curidx = idx; 388 ogg->curidx = idx;
389 os->incomplete = 0;
387 390
388 if (os->header < 0){ 391 if (!ogg->headers){
389 int hdr = os->codec->header (s, idx); 392 int hdr = os->codec->header (s, idx);
393 os->header = os->seq;
390 if (!hdr){ 394 if (!hdr){
391 os->header = os->seq;
392 os->segp = segp; 395 os->segp = segp;
393 os->psize = psize; 396 os->psize = psize;
394 ogg->headers = 1; 397 ogg->headers = 1;
395 }else{ 398 }else{
396 os->pstart += os->psize; 399 os->pstart += os->psize;
397 os->psize = 0; 400 os->psize = 0;
398 } 401 }
399 } 402 }
400 403
401 if (os->header > -1 && os->seq > os->header){ 404 if (os->header > -1 && os->seq > os->header){
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
637 sizeof (struct ogg), 640 sizeof (struct ogg),
638 ogg_probe, 641 ogg_probe,
639 ogg_read_header, 642 ogg_read_header,
640 ogg_read_packet, 643 ogg_read_packet,
641 ogg_read_close, 644 ogg_read_close,
642 NULL, 645 NULL,
643 ogg_read_timestamp, 646 ogg_read_timestamp,
644 .extensions = "ogg", 647 .extensions = "ogg",
645 .metadata_conv = ff_vorbiscomment_metadata_conv, 648 .metadata_conv = ff_vorbiscomment_metadata_conv,
646 }; 649 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698