[vlc-devel] [PATCH] Handling prefered language in AsfSelectStream Better, bitrate sort and select algo Tested with asf containing 3, Videos and 24 Lang...

Alain Degreffe eczema at ecze.com
Thu Jul 18 10:19:18 CEST 2013

Le 18/07/13 10:11, Denis Charmet a écrit :
> Hi,
> Le jeudi 18 juillet 2013 à 08:51:51, Rémi Denis-Courmont a écrit :
>> On Thu, 18 Jul 2013 02:28:00 +0200, Denis Charmet <typx at dinauz.org> wrote:
>>> Imho, stream selection is the responsibility of the core and the user,
>>> That's why I think that your use case needs a core evolution instead of
>> a
>>> workaround. I'll try to think of a longer-lasting solution.
>> What's wrong with the existing DEMUX_SET_GROUP or ES_OUT_GET_ES_STATE? If
>> you really do not like to poll ES_OUT_GET_ES_STATE from pf_demux, then it
>> might be posible to add a DEMUX_SET_ES_STATE, but I am not sure about the
>> threading implications...
> There's nothing wrong with that (except the ugly poll imo) but wouldn't that
> imply to make an access demux?
> Well I assume it may be possible to do that from the asf demux but this
> means that the demux knows about all the tracks even the one that it
> doesn't actually recieves, I don't know the protocol

Ok to test what's happens on asf filtered streams:
1.Use the current VLC
2.Uncheck the all-mms option
3.Force using avformat demux

Open  mms://vodwms.europarl.europa.eu/wmv/nas/nasvod01/cod1307/wm_pad/Channel10/VODChapter_20130709_15340500_18292000_Ch10_-450541df13fc52326de155a.wmv?wmcache=0

As you will see, avformat show all track... In reality, access-mms have filtered the stream without any logic ( A video and a audio track )....

This poc show that asf header remain intact and that the demux know everything about the original streams...


>> As for MMS, keep in mind that the input thread cannot call the access
>> instance directly. In particular, the access is not reentrant and it might
>> run in another thread due to stream filters. Besides, track identifier are
>> format-specific. So I think format-specific controls are unavoidable. For
>> MPEG-TS, there is ACCESS_SET_PRIVATE_ID_STATE. But there is plenty of space
>> in access_query_e for new controls.
> OK, that should be easier than trying to find a more generic solution.
> Regards,

More information about the vlc-devel mailing list