#358 closed defect (fixed)
MMS(MMSH) seeking/skipping freezes video
Reported by: | Arno | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avformat |
Version: | git-master | Keywords: | mms |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description
When trying to seek/skip through a streamed video using the MMS/MMSH protocols, FFmpeg/FFPlay freezes. I first encountered this problem in XBMC but FFPlay experiences the same behaviour. I've tested it with several Dutch streams, which all show the problem. It works fine when I use an older version of XBMC which uses libmms so it seems to be a problem FFmpeg's implementation.
The commandline/output from ffplay looks like this:
(1000 ~/ffmpeg)% ./ffplay "mmsh://bolt01.omroep.nl/public/ug-od/wm/50/media/wm50c1/ceres/1/kro/rest/2009/KRO_1336806/bb.20090611.asf?wmt=4e292053&wmhash=15605a15"
ffplay version N-31601-gba99474, Copyright (c) 2003-2011 the FFmpeg developers
built on Jul 22 2011 08:56:44 with gcc 4.4.3
configuration:
libavutil 51. 11. 0 / 51. 11. 0
libavcodec 53. 8. 0 / 53. 8. 0
libavformat 53. 6. 0 / 53. 6. 0
libavdevice 53. 2. 0 / 53. 2. 0
libavfilter 2. 27. 2 / 2. 27. 2
libswscale 2. 0. 0 / 2. 0. 0
Input #0, asf, from 'mmsh://bolt01.omroep.nl/public/ug-od/wm/50/media/wm50c1/ceres/1/kro/rest/2009/KRO_1336806/bb.20090611.asf?wmt=4e292053&wmhash=15605a15':
Metadata:
WMFSDKVersion : 10.00.00.4001
WMFSDKNeeded : 0.0.0.0000
IsVBR : 0
Duration: 00:10:09.14, start: 0.000000, bitrate: N/A
Stream #0.0(eng): Video: wmv3 (Main), yuv420p, 320x180, 452 kb/s, 25 tbr, 1k tbn, 1k tbc
Stream #0.1(eng): Audio: wmav2, 44100 Hz, 2 channels, s16, 48 kb/s
ALSA lib pcm.c:7245:(snd_pcm_recover) underrun occuredB sq= 0B f=0/0
Read data packet header failed! 0KB vq= 0KB sq= 0B f=0/0 f=0/0
Recv other type packet -5
Read data packet header failed!
Recv other type packet -5
[asf @ 0x8f3a120] asf_read_pts failed
mmsh://bolt01.omroep.nl/public/ug-od/wm/50/media/wm50c1/ceres/1/kro/rest/2009/KRO_1336806/bb.20090611.asf?wmt=4e292053&wmhash=15605a15: error while seeking
Read data packet header failed!
Recv other type packet -5
Attachments (3)
Change History (13)
by , 13 years ago
comment:1 by , 13 years ago
the quoted mmsh URL just gives me a Input/output error, so i dont know how to reproduce this
comment:2 by , 13 years ago
you can use e.g. mmsh://straumod.nrk.no/disk11/Supermorgen/2011-03-11/MSUS54000411AA-1Mbit.wmv?UseSilverlight=1
in fact any mmsh url will exhibit it. this one should not be volatile
comment:3 by , 13 years ago
if you need it for reference or the likes; see l848+ at http://libmms.git.sourceforge.net/git/gitweb.cgi?p=libmms/libmms;a=blob;f=src/mmsh.c;h=f7cee4a7deb4a6a168992426a1bd8fbd11a0b7cb;hb=HEAD
by , 13 years ago
Attachment: | asfdec.diff added |
---|
Here's my diff for asfdec.c. I pretty much just disabled NOGENSEARCH and NOBINSEARCH
follow-up: 6 comment:4 by , 13 years ago
Commenting out NOBINSEARCH and NOGENSEARCH. does not fix the problem, unfortunately, which totally makes sense since our older ffmpeg which didn't have them also suffered from this problem.
comment:5 by , 13 years ago
Reproduced by developer: | set |
---|---|
Status: | new → open |
Version: | unspecified → git-master |
Also reproducible with ffmpeg -ss 5 -i ...
comment:6 by , 13 years ago
Replying to arnova:
Commenting out NOBINSEARCH and NOGENSEARCH. does not fix the problem, unfortunately, which totally makes sense since our older ffmpeg which didn't have them also suffered from this problem.
Yeah, I found that out with some more testing. It seemed to fix the problem with one stream I tried but not any others. I'm not beat yet, though. I'm gonna try to track this bug down since it's preventing me from being able to upgrade XBMC.
comment:7 by , 13 years ago
I've been trying to figure this out but so far I haven't had any luck. I've traced the problem as far back as retry_transfer_wrapper() in avio.c. When the error occurs, retry_transfer_wrapper() returns a negative number due to transfer_func(). This negative number makes it's way to line 83 in mmsh.c where it fails. I guess I don't understand what exactly transfer_func() is supposed to be doing. I think it's the key to the problem, but I could be wrong.
comment:8 by , 13 years ago
Component: | undetermined → avformat |
---|---|
Resolution: | → fixed |
Status: | open → closed |
Seeking with ffmpeg -ss works fine now afaict, seeking with ffplay mmsh:// is supported to a certain degree.
by , 12 years ago
Attachment: | ffplay-20130516-224646.log added |
---|
ffplay report when seek in mms/mmsh stream causes it to crash
follow-up: 10 comment:9 by , 12 years ago
I am trying to seek/skip the mmsh stream referenced above using the latest development branch build. It still causes ffplay/ffmpeg to crash. The command line is below.
ffplay -report "mmsh://straumod.nrk.no/disk11/Supermorgen/2011-03-11/MSUS54000411AA-1Mbit.wmv?UseSilverlight=1"
The ffplay report is attached.
Is it a regression?
comment:10 by , 12 years ago
Replying to brtv_viewer:
I am trying to seek/skip the mmsh stream referenced above using the latest development branch build. It still causes ffplay/ffmpeg to crash.
I opened ticket #2581, thank you for testing and the report!
Commented out line 1316, NOBINSEARCH and NOGENSEARCH. Seems to fix the problem