RCS file: /cvsroot/mplayer/main/libmpdemux/demux_ogg.c,v
retrieving revision 1.81
diff -u -r1.81 demux_ogg.c
|
|
|
|
| 554 | 554 | if (ds == d->video && ((sh_audio_t*)ds->sh)->format == FOURCC_THEORA) |
| 555 | 555 | context = ((sh_video_t *)ds->sh)->context; |
| 556 | 556 | data = demux_ogg_read_packet(os,pack,context,&pts,&flags,samplesize); |
| 557 | | if(d->video->id < 0) |
| 558 | | ((sh_audio_t*)ds->sh)->delay = pts; |
| 559 | 557 | |
| 560 | 558 | /// Clear subtitles if necessary (for broken files) |
| 561 | 559 | if ((clear_sub > 0) && (pts >= clear_sub)) { |
| … |
… |
|
| 1471 | 1469 | } |
| 1472 | 1470 | } |
| 1473 | 1471 | if (pos < 0) pos = 0; |
| 1474 | | if (pos > (demuxer->movi_end - demuxer->movi_start)) return; |
| | 1472 | if (pos > (demuxer->movi_end - demuxer->movi_start)) |
| | 1473 | pos = demuxer->movi_end - demuxer->movi_start; |
| 1475 | 1474 | } // if(ogg_d->syncpoints) |
| 1476 | 1475 | |
| 1477 | 1476 | while(1) { |
| … |
… |
|
| 1500 | 1499 | char* buf = ogg_sync_buffer(sync,BLOCK_SIZE); |
| 1501 | 1500 | int len = stream_read(demuxer->stream,buf,BLOCK_SIZE); |
| 1502 | 1501 | if(len == 0 && demuxer->stream->eof) { |
| 1503 | | mp_msg(MSGT_DEMUX,MSGL_ERR,"EOF while trying to seek !!!!\n"); |
| 1504 | | break; |
| | 1502 | mp_msg(MSGT_DEMUX,MSGL_V,"EOF while trying to seek !!!!\n"); |
| | 1503 | return; |
| 1505 | 1504 | } |
| 1506 | 1505 | ogg_sync_wrote(sync,len); |
| 1507 | 1506 | continue; |
| … |
… |
|
| 1556 | 1555 | vo_osd_changed(OSDTYPE_SUBTITLE); |
| 1557 | 1556 | clear_sub = -1; |
| 1558 | 1557 | demux_ogg_add_packet(ds,os,ds->id,&op); |
| | 1558 | if (demuxer->video->id < 0) |
| | 1559 | sh_audio->delay = pts; |
| 1559 | 1560 | return; |
| 1560 | 1561 | } |
| 1561 | 1562 | } |