summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-09-30 21:10:41 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-09-30 21:10:41 +0000
commit88ab61eaab8b93490adf214ad3d8bf37c32add58 (patch)
tree9f86842fe8ce7055b46470febf1cbbf8f059480d /libmpdemux
parentf7bfb1aaf60650f4937bbe772c986582d8f04a07 (diff)
downloadmpv-88ab61eaab8b93490adf214ad3d8bf37c32add58.tar.bz2
mpv-88ab61eaab8b93490adf214ad3d8bf37c32add58.tar.xz
- demuxer->audio->id is set to -2 when using 'frameno.avi', so
in that case, just skip audio packets. - When processing NuppelVideo files with mencoder, remaining time, estimated size, etc. fields are not computed. SOLUTION: Update demuxer->filepos variable when reading the packets. patch by Petr Pudlak <wandermind@centrum.cz> git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7567 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux')
-rw-r--r--libmpdemux/demux_nuv.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/libmpdemux/demux_nuv.c b/libmpdemux/demux_nuv.c
index b488d462d6..eb12313494 100644
--- a/libmpdemux/demux_nuv.c
+++ b/libmpdemux/demux_nuv.c
@@ -140,8 +140,9 @@ int demux_nuv_fill_buffer ( demuxer_t *demuxer )
struct rtframeheader rtjpeg_frameheader;
off_t orig_pos;
nuv_priv_t* priv = demuxer->priv;
+ int want_audio = (demuxer->audio)&&(demuxer->audio->id!=-2);
- orig_pos = stream_tell ( demuxer->stream );
+ demuxer->filepos = orig_pos = stream_tell ( demuxer->stream );
if (stream_read ( demuxer->stream, (char*)& rtjpeg_frameheader, sizeof ( rtjpeg_frameheader ) ) < sizeof(rtjpeg_frameheader))
return 0; /* EOF */
@@ -183,9 +184,18 @@ int demux_nuv_fill_buffer ( demuxer_t *demuxer )
(rtjpeg_frameheader.comptype == '0'))
{
priv->current_audio_frame++;
- /* put Audio to audio buffer */
- ds_read_packet ( demuxer->audio, demuxer->stream, rtjpeg_frameheader.packetlength,
- rtjpeg_frameheader.timecode*0.001, orig_pos + 12, 0 );
+ if (want_audio) {
+ /* put Audio to audio buffer */
+ ds_read_packet ( demuxer->audio, demuxer->stream,
+ rtjpeg_frameheader.packetlength,
+ rtjpeg_frameheader.timecode*0.001,
+ orig_pos + 12, 0 );
+ } else {
+ /* skip audio block */
+ stream_seek ( demuxer->stream,
+ stream_tell ( demuxer->stream )
+ + rtjpeg_frameheader.packetlength );
+ }
}
return 1;