diff options
author | Thibaut Mattern <thibaut.mattern@gmail.com> | 2008-01-12 15:48:13 +0100 |
---|---|---|
committer | Thibaut Mattern <thibaut.mattern@gmail.com> | 2008-01-12 15:48:13 +0100 |
commit | 37e7a5aa4c03f8793dc9da8058a5625f5ff84d4b (patch) | |
tree | c7943934eacc024e9dd7f57867c698a5830d23ec | |
parent | 519f3e9ac3a920fe8a04668f38fbd0eb7b10942a (diff) | |
download | xine-lib-37e7a5aa4c03f8793dc9da8058a5625f5ff84d4b.tar.gz xine-lib-37e7a5aa4c03f8793dc9da8058a5625f5ff84d4b.tar.bz2 |
Don't send BUF_FLAG_FRAME_START twice per frame, otherwise the ffmpeg plugin skips the first part of the frame.
Fixed wmv playback with ffmpeg.
-rw-r--r-- | src/demuxers/demux_asf.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/demuxers/demux_asf.c b/src/demuxers/demux_asf.c index 9aab59977..c4a154f99 100644 --- a/src/demuxers/demux_asf.c +++ b/src/demuxers/demux_asf.c @@ -723,6 +723,9 @@ static void asf_send_buffer_nodefrag (demux_asf_t *this, asf_demux_stream_t *str buf->size = bufsize; timestamp = 0; + if (stream->frag_offset == 0) + buf->decoder_flags |= BUF_FLAG_FRAME_START; + stream->frag_offset += bufsize; frag_len -= bufsize; @@ -733,10 +736,6 @@ static void asf_send_buffer_nodefrag (demux_asf_t *this, asf_demux_stream_t *str else check_newpts (this, buf->pts, PTS_AUDIO, package_done); - - if (frag_offset == 0) - buf->decoder_flags |= BUF_FLAG_FRAME_START; - /* test if whole packet read */ if (package_done) { buf->decoder_flags |= BUF_FLAG_FRAME_END; |