[MPlayer-dev-eng] [resubmitted PATCH] possible bug in libmpdemux/asf_streaming.c
Mats Rojestal
mats.rojestal at bredband.net
Tue Feb 17 01:08:35 CET 2004
Ooops!
my file asf_streaming.c was diffing from the one in cvs repository
see diff output.
--- asf_streaming.c Tue Feb 17 01:01:13 2004
+++ asf_streaming.c.orig Tue Feb 3 17:52:56 2004
@@ -421,8 +421,7 @@
if( content_type==NULL ) return ASF_Unknown_e;
if( !strcasecmp(content_type, "application/octet-stream") ||
!strcasecmp(content_type, "application/vnd.ms.wms-hdr.asfv1")
|| // New in Corona, first request
- !strcasecmp(content_type, "application/x-mms-framed")
|| // New in Corana, second request
- !strcasecmp(content_type, "video/x-ms-asf")) {
+ !strcasecmp(content_type, "application/x-mms-framed") )
{ // New in Corana, second request
if( strstr(features, "broadcast") ) {
mp_msg(MSGT_NETWORK,MSGL_V,"=====> ASF Live stream\n");
My face is red
Alex Eskin wrote:
>Are you sure you are using 1.42? Or maybe you using -playlist?
>I may be dumb, but without -playlist
>I do not see how it can possibly work (reading the code).
>
>I am seeing the same behaviour as the original poster.
>
>Here is my analysis of the situation and a proposed patch:
>
>Description of problem:
>
>the video/x-mms-asf mime type is ambiguous. It can be
>
>(1) An asx redirector. This is the most common usage. In fact, most
> of the windows media on the web today is behind an asx redirector
> with the video/x-mms-asf mime-type.
>
>(2) A non-streaming microsoft media (asf) file.
>
>(3) An asf stream (live or prerecorded). I have never actually seen
> one, but I infer from the code that it must exist.
> (By the way, if somebody knows an URL with an asf stream with mime
> type "video/x-ms-asf" I would be very interested).
>
>
>What does the current code do:
>
> It assumes unconditionally type (3). If it gets type (1) or (2)
> it bails. This has the effect of breaking most of the windows media
> sites out there.
>
> In fact the current behaviour is probably not intended. The code
> is basically
> if ( content_type == "video/x-mms-asf" ) {
> //assume type (3)
> } else if (content_type == "video/x-mms-asf") {
> //figure out if it is type (1) or type (2)
> }
>
>What does the proposed patch do:
>
> It is only a 99% solution. If it gets video/x-mms-url
> it peeks in the stream to see if there is an asf-streaming
> header. If yes, it is type (3). If no, then it is type (1)
> or (2).
>
> It is only 99% because it does not read extra bytes from the
> socket (it only needs 5 in the buffer). There are other
> places in the code which do that, and it seems to work well.
> Still if people want a 100% solution I can recode it.
>
>
>Even if this patch is not it, I hope that some way can be found to
>solve this issue.
>
>
>Alex Eskin
>
>
>
>
>
>
>
>--- Mats Rojestal <mats.rojestal at bredband.net> wrote:
>
>
>>Hi,
>>
>>This URL works for me with patch 1.42 of asf_streming.c and ASF
>>redirect works the only anoying thing is that it hangs at the end and
>>^C
>>is the only way to bail out.
>>
>>snip--<
>>
>>
>>
>==========================================================================
>
>
>>Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
>>AUDIO: 44100 Hz, 2 ch, 16 bit (0x10), ratio: 16005->176400 (128.0
>>kbit)
>>Selected audio codec: [ffwmav2] afm:ffmpeg (DivX audio v2 (ffmpeg))
>>
>>
>>
>==========================================================================
>
>
>>Checking audio filter chain for 44100Hz/2ch/16bit ->
>>44100Hz/2ch/16bit...
>>AF_pre: af format: 2 bps, 2 ch, 44100 hz, little endian signed int
>>AF_pre: 44100Hz 2ch Signed 16-bit (Little-Endian)
>>AO: [sun] 44100Hz 2ch Signed 16-bit (Little-Endian) (2 bps)
>>Building audio filter chain for 44100Hz/2ch/16bit ->
>>44100Hz/2ch/16bit...
>>Video: no video
>>Starting playback...
>>everything done. Thank you for downloading a media file containing
>>proprietary and patentend technology.
>>A: 40.5 0.9% 0%
>>
>>MPlayer interrupted by signal 2 in module: decode_audio
>>snip---<
>>
>>
>>-- Mats Röjestål
>>
>>Henrik Bjerregaard Pedersen wrote:
>>
>>
>>
>>>I fear that the patch from 1.41 to 1.42 of asf_streaming.c is buggy
>>>
>>>
>>- at
>>
>>
>>>least it prevents me from accessing most - if not all - of the .asx
>>>
>>>
>>URLs
>>
>>
>>>I come across, like:
>>>
>>> http://kschoice3.fanzone.be/wm/pim_07_iron_flower.asx
>>>
>>>Revert to 1.41 and it works a treat.
>>>
>>>The patch prevents streams with content-type = video/x-ms-asf from
>>>
>>>
>>being
>>
>>
>>>detected as of type ASF_Redirector_e.
>>>
>>>
>>>Henrik Bjerregaard Pedersen
>>>mailto: hbp at 2m.dk
>>>
>>>
>>>
>>>
>>_______________________________________________
>>MPlayer-dev-eng mailing list
>>MPlayer-dev-eng at mplayerhq.hu
>>http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng
>>
>>
>
>__________________________________
>Do you Yahoo!?
>Yahoo! Finance: Get your refund fast by filing online.
>http://taxes.yahoo.com/filing.html
>
>------------------------------------------------------------------------
>
>_______________________________________________
>MPlayer-dev-eng mailing list
>MPlayer-dev-eng at mplayerhq.hu
>http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng
>
>
More information about the MPlayer-dev-eng
mailing list