[vlc-devel] [PATCH 1/4] vlc_stream.h: add some STREAM_GET_* requests
fyhuel at viotech.net
Thu Apr 12 12:19:21 CEST 2012
On Wed, Apr 11, 2012 at 10:54 PM, 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:
>> 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!
>> Or merging/moving some part
>> of the stream_t filter into the demuxer?
> If I can do a parsing of the XML file (the Smooth Streaming manifest)
> in the demux, yes. But I need to parse the manifest in the
> stream_filter module anyway, so that file would be parsed twice. This
> is maybe not a problem, but I'm not sure it is even possible. Is it?
Or maybe I could make up a new MP4 atom (much more simple than a
'moov' atom), that I would build in the stream_filter module, and then
give to the demux. What do you think?
PS: I chose to use Control requests because Rémi told me to do that:
But maybe he had something else in mind (a more clever way to use them). Rémi?
More information about the vlc-devel