aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorelupus <elupus@xbmc.org>2012-04-17 01:13:15 +0200
committerelupus <elupus@xbmc.org>2012-04-17 01:20:34 +0200
commit45e41b9096869062a2113590f3158321d06dea8b (patch)
tree916adb9a5b6d02bde6009beb51078796f39773b2 /lib
parent9632ed35f9ae00a7be0d808b63c7ef7adbbc4737 (diff)
fixed: dvd still frames ended up in internal lavf buffer
This is very hackish, but it's the old solution we had for dvd still frames. The problem is that the demuxer asks for probing of the codec in the mpeg stream. This causes lavf to read the whole menu structure into internal buffers. After which, it won't read from input stream anymore and no events triggers. The only proper fix to avoid this is to allow this situation in our navigator. This needs further work so that we can process HOP/ACTIVATION events in libdvdnav without advancing stream.
Diffstat (limited to 'lib')
-rw-r--r--lib/ffmpeg/libavformat/utils.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/ffmpeg/libavformat/utils.c b/lib/ffmpeg/libavformat/utils.c
index 4729a401ef..63f89dd2e3 100644
--- a/lib/ffmpeg/libavformat/utils.c
+++ b/lib/ffmpeg/libavformat/utils.c
@@ -833,7 +833,7 @@ int av_read_packet(AVFormatContext *s, AVPacket *pkt)
if(end || av_log2(pd->buf_size) != av_log2(pd->buf_size - pkt->size)){
int score= set_codec_from_probe_data(s, st, pd);
- if( (st->codec->codec_id != CODEC_ID_NONE && score > AVPROBE_SCORE_MAX/4)
+ if( (st->codec->codec_id != CODEC_ID_NONE && score > AVPROBE_SCORE_MAX/4-1)
|| end){
pd->buf_size=0;
av_freep(&pd->buf);