[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