[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xine-devel
Subject:    [xine-devel] asf (mms  and mmsh) multiple bitrate streams bug
From:       Mohamad Al-Saqer <msaqer () iastate ! edu>
Date:       2006-05-25 22:21:49
Message-ID: 200605251721.49201.msaqer () iastate ! edu
[Download RAW message or body]

Hi every one

This bug is the same as the bug reported in the sf website (bug #1229328) but 
here with more verbose (by adding xprintf lines in mmsh.c, mms.c and 
demus_asf.c where appropriate)

I used the links listed in the bug report and traced the reason for why xine 
does not choose the stream with highest bitrate supported by bandwidth. 
Rather, it chooses the best stream reported by the header segment with
guid = GUID_ASF_STREAM_PROPERTIES. For some reason, only one audio stream and 
one video stream are supplied at this guid. While in the 
guid=GUID_ASF_STREAM_BITRATE_PROPERTIES, there might be more streams 
reported.
When xine tries to choose the best stream according to bandwith, it only 
searches the streams supplied in the GUID_ASF_STREAM_PROPERTIES guids.

In the following verbose, the extra lines I added start with sqr and have the 
following structure

sqr: file name: function name: guidvalue: [extra verbose]

Following is a verbose for a case of mms stream which has 8 streams. My extra 
verbose lines are from added code lines in  functions: interp_asf_header (in 
src/input/mms.c) and asf_read_header (in demuxers/demux_asf.c)

----------------------------  subset of VERBOSE ---------------------
$ xine --verbose=2 mms://wmedia.siol.net/tvpika/live
gui_xine_open_and_play():
        mrl: 'mms://wmedia.siol.net/tvpika/live',
        sub 'NONE',
        start_pos 0, start_time 0, av_offset 0, spu_offset 0.
gnome_vfs init_input_class
gnome-vfs not initialised
xine: found input plugin  : mms streaming input plugin
Resolving host 'wmedia.siol.net' at port '1755'
sqr: mms.c: interp_asf_header: GUID_unknown object
sqr: mms.c: interp_asf_header: GUID_ASF_STREAM_BITRATE_PROPERTIES:
stream_id 1, bitrate 69783, bitrates_pos 754
sqr: mms.c: interp_asf_header: GUID_ASF_STREAM_BITRATE_PROPERTIES:
stream_id 2, bitrate 53767, bitrates_pos 760
sqr: mms.c: interp_asf_header: GUID_ASF_STREAM_BITRATE_PROPERTIES:
stream_id 3, bitrate 21436, bitrates_pos 766
sqr: mms.c: interp_asf_header: GUID_ASF_STREAM_BITRATE_PROPERTIES:
stream_id 4, bitrate 13436, bitrates_pos 772
sqr: mms.c: interp_asf_header: GUID_ASF_STREAM_BITRATE_PROPERTIES:
stream_id 5, bitrate 749609, bitrates_pos 778
sqr: mms.c: interp_asf_header: GUID_ASF_STREAM_BITRATE_PROPERTIES:
stream_id 6, bitrate 265609, bitrates_pos 784
sqr: mms.c: interp_asf_header: GUID_ASF_STREAM_BITRATE_PROPERTIES:
stream_id 7, bitrate 99609, bitrates_pos 790
sqr: mms.c: interp_asf_header: GUID_ASF_STREAM_BITRATE_PROPERTIES:
stream_id 8, bitrate 38841, bitrates_pos 796
sqr: mms.c: interp_asf_header: GUID_ASF_FILE_PROPERTIES
sqr: mms.c: interp_asf_header: GUID_unknown object
sqr: mms.c: interp_asf_header: GUID_ASF_STREAM_PROPERTIES: 
GUID_ASF_AUDIO_MEDIA
sqr: mms.c: interp_asf_header: GUID_ASF_STREAM_PROPERTIES: stream_id 4
sqr: mms.c: interp_asf_header: GUID_ASF_STREAM_PROPERTIES: 
GUID_ASF_VIDEO_MEDIA
sqr: mms.c: interp_asf_header: GUID_ASF_STREAM_PROPERTIES: GUID_ASF_JFIF_MEDIA
sqr: mms.c: interp_asf_header: GUID_ASF_STREAM_PROPERTIES: 
GUID_ASF_DEGRADABLE_JPEG_MEDIA
sqr: mms.c: interp_asf_header: GUID_ASF_STREAM_PROPERTIES: stream_id 8
sqr: mms.c: interp_asf_header: GUID_unknown object
sqr: mms.c: interp_asf_header: GUID_unknown object
sqr: mms.c: interp_asf_header: GUID_unknown object
.
.
.
load_plugins: probing demux 'asf'
xine: found demuxer plugin: ASF demux plugin
sqr: demux_asf.c: asf_read_header: GUID_ASF_CONTENT_DESCRIPTION
sqr: demux_asf.c: asf_read_header: GUID_ASF_STREAM_BITRATE_PROPERTIES:
stream_id 1, bitrate: 69783 169125744
sqr: demux_asf.c: asf_read_header: GUID_ASF_STREAM_BITRATE_PROPERTIES:
stream_id 2, bitrate: 53767 169125744
sqr: demux_asf.c: asf_read_header: GUID_ASF_STREAM_BITRATE_PROPERTIES:
stream_id 3, bitrate: 21436 169125744
sqr: demux_asf.c: asf_read_header: GUID_ASF_STREAM_BITRATE_PROPERTIES:
stream_id 4, bitrate: 13436 169125744
sqr: demux_asf.c: asf_read_header: GUID_ASF_STREAM_BITRATE_PROPERTIES:
stream_id 5, bitrate: 749609 169125744
sqr: demux_asf.c: asf_read_header: GUID_ASF_STREAM_BITRATE_PROPERTIES:
stream_id 6, bitrate: 265609 169125744
sqr: demux_asf.c: asf_read_header: GUID_ASF_STREAM_BITRATE_PROPERTIES:
stream_id 7, bitrate: 99609 169125744
sqr: demux_asf.c: asf_read_header: GUID_ASF_STREAM_BITRATE_PROPERTIES:
stream_id 8, bitrate: 38841 169125744
sqr: demux_asf.c: asf_read_header: GUID_ASF_FILE_PROPERTIES
demux_asf: unknown GUID: 0xf8a2bde5, 0xe191, 0x4626, { 0xbf, 0xaf, 0x2e, 0x18, 
0xcf, 0x46, 0x47, 0xe1 }
sqr: demux_asf.c: asf_read_header: GUID_ASF_STREAM_PROPERTIES
sqr: demux_asf.c: asf_read_header: GUID_ASF_STREAM_PROPERTIES: 
GUID_ASF_AUDIO_MEDIA:
sqr: demux_asf.c: asf_read_header: GUID_ASF_STREAM_PROPERTIES: stream_id 4
demux_asf: audio conceal interleave detected (1 x 1 x 320)
sqr: demux_asf.c: asf_read_header: GUID_ASF_STREAM_PROPERTIES
sqr: demux_asf.c: asf_read_header: GUID_ASF_STREAM_PROPERTIES: 
GUID_ASF_VIDEO_MEDIA:
sqr: demux_asf.c: asf_read_header: GUID_ASF_STREAM_PROPERTIES: stream_id 8
sqr: demux_asf.c: asf_read_header: GUID_ASF_DATA

net_buf_ctrl: nbc_put_cb: starts buffering

net_buf_ctrl: nbc_set_speed_pause
set_speed 0
demux_asf: stream: 4, bitrate 13436 bps
demux_asf: stream: 8, bitrate 38841 bps
demux_asf: video stream_id: 8, audio stream_id: 4
net_buf_ctrl: vid   0%  0.0s    0kbps 0, aud   0%  0.0s   13kbps 0, buf on
net_buf_ctrl: vid   0%  0.0s   38kbps 0, aud   0%  0.0s   13kbps 0, buf on 
video discontinuity #1, type is 0, disc_off 0
waiting for audio discontinuity #1
audio discontinuity #1, type is 0, disc_off 0
waiting for in_discontinuity update #1
vpts adjusted with prebuffer to 231787

net_buf_ctrl: nbc_set_speed_pause
set_speed 0
.
.
.
------------------------- END VERBOSE ----------------------


-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
_______________________________________________
xine-devel mailing list
xine-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xine-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic