[vlc-devel] [PATCH 1/4] vlc_stream.h: add some STREAM_GET_* requests

Rémi Denis-Courmont remi at remlab.net
Mon Apr 16 10:13:09 CEST 2012


On Wed, 11 Apr 2012 22:54:39 +0200, Frederic YHUEL <fyhuel at viotech.net>
wrote:
> Thanks for your input Laurent!
> 
> On Wed, Apr 11, 2012 at 8:40 PM, Laurent Aimar <fenrir at elivagar.org>
wrote:
>> Hi,
>>
>> On Wed, Apr 11, 2012 at 04:15:17PM +0200, Frédéric Yhuel wrote:
>>> @@ -111,6 +111,12 @@ enum stream_query_e
>>>
>>>      /* XXX only data read through stream_Read/Block will be recorded
>>> */
>>>      STREAM_SET_RECORD_STATE,     /**< arg1=bool, arg2=const char
>>> *psz_ext (if arg1 is true)  res=can fail */
>>> +
>>> +    /* Used in Smooth Streaming */
>>> +    STREAM_GET_TIME_SCALE, /**< arg1=uint64_t *                      
>>>              res=cannot fail */
>>> +    STREAM_GET_ITRACKS,    /**< arg1=unsigned *  (Get the number of
>>> tracks)        res=cannot fail */
>>> +    STREAM_GET_TRACK,      /**< arg1=uint16_t, arg2=mp4_track_t *    
>>>              res=can fail    */
>>> +    STREAM_GET_FMT,        /**< arg1=uint16_t, arg2=uint16_t,
>>> arg3=es_format_t *   res=can fail    */
>>  I don't think that adding such mp4 private accesses to the global
>> stream_t
>> API is a good idea. I am not sure how best you could avoid that, but
>> maybe
>> creating an access_demux would be simpler?
> 
> Probably, I need to think about it!

That goes back to the original discussion on the DASH filter. If you have
a byte stream, then a stream filter is nice. That implies byte offset
seeks.

For time-based or chapter-based seeking, then demux or access_demux is
required. Namely a demux is needed if there is some kind of manifest (that
does not need to be reloaded ever). Otherwise, if there is only a URL, then
it's an access_demux.

-- 
Rémi Denis-Courmont
Sent from my collocated server



More information about the vlc-devel mailing list