diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-10-05 21:28:55 +0000 |
---|---|---|
committer | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-10-05 21:28:55 +0000 |
commit | 11e7ea9df4f36759363618bab4d1b00d8ae688b7 (patch) | |
tree | d67e4d81438fb78a8c29e5696b4509703286ddd2 /libmpdemux/demux_demuxers.c | |
parent | 9b128fa2e4e07ed9496cda63abced1dd4b6da218 (diff) | |
download | mpv-11e7ea9df4f36759363618bab4d1b00d8ae688b7.tar.bz2 mpv-11e7ea9df4f36759363618bab4d1b00d8ae688b7.tar.xz |
Fix demux_demuxers seeking if the video demuxer does not set
demuxer->video->pts (e.g. lavf).
Previous code would start audio from beginning.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20077 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demux_demuxers.c')
-rw-r--r-- | libmpdemux/demux_demuxers.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libmpdemux/demux_demuxers.c b/libmpdemux/demux_demuxers.c index d676e82ab2..a71d80892b 100644 --- a/libmpdemux/demux_demuxers.c +++ b/libmpdemux/demux_demuxers.c @@ -71,6 +71,11 @@ static void demux_demuxers_seek(demuxer_t *demuxer,float rel_seek_secs,float aud demux_seek(priv->vd,rel_seek_secs,audio_delay,flags); // Get the new pos pos = demuxer->video->pts; + if (!pos) { + demux_fill_buffer(priv->vd, demuxer->video); + if (demuxer->video->first) + pos = demuxer->video->first->pts; + } if(priv->ad != priv->vd) { sh_audio_t* sh = (sh_audio_t*)demuxer->audio->sh; |