[MPlayer-dev-eng] Playlists & MPlayer
arpi at thot.banki.hu
Sat Jan 11 21:18:09 CET 2003
> > and it may work, at least for playlists <2048 (maybe <=2048) bytes.
> > (maybe this size limit exists only for streamed (non-seekable) playlist
> > files)
> Are you sure there is a playlist-limit ? I tried one from my local webserver,
> that was 282418 bytes big and it still worked :)
282kb long playlist? nice :)
hmm, maybe the http:// streaming enables cache by default.
at least i know that several demuxers read even megabytes of the file
before deciding it is not that fileformat (big error-resistance:)).
and since streamed files are non-seekable, it's not possible to reset stream
to pos=0 after all demuxer failed, to parse as playlist.
- file is shorter than 2048 bytes, then it fits into stream layer's buffer
- cache is enabled and enough big to keep the whole file?
- you re-open the file when parsing as playlist (maybe? not optimal, but
should always work...)
> > > A quick hack turned out to solve the problem:
> > .. [ugly thing] :)
> That seems to be necessary, before rewrite of demuxers after 0.90 :-/ ...
we should move that into a function at least
> > > This works with streamed and local files ... (Why didn't anyone try this
> > > before ?)
> > dunno
> > > Btw. before I forget plaintext-parsing is not broken, but somewhat too
> > > error-tolerant (Tries to include file with not allowed characters for
> > > example ...)
> > patches welcomed.
> > also support for that silly win.ini-style format:
> > [Reference]
> > Ref1=http://188.8.131.52:80/0111/orult.wmv
> ok, see patch in other mail ...
nice, there are no lines without 'playtree' word in it :)
i like playtree so much :)
> > > Ok, this works, but is imho not nice, as it duplicates code ... (Can
> > > Streaming layer ever detect the format right in all cases ?)
> > since when is it the job of the stream layer to detect format?
> > ok i know there are some hacks in the network streaming code (network.c)
> > to guess fileformat from MIME types, but it's a hack.
> I thought the same, because of that I want to have it in the demux-level ...
> > fileformat detection should be content-based (only), and done by demuxer.c
> > by probing each demuxer.
> > > And for example for mov-referencing this has to be duplicated once more
> > > ...
> > demuxer layer shouldn't meet (directly) to playtree.
> > keep demuxers clean, and mplayer-independent ('make test' in libmpdemux/
> > dir)
> of course ...
> > > I therefor vote for a function, that does this:
> > >
> > > e.g.: playtree_add_playlist(playtree_t entry)
> > >
> > > And I think it would be even more nice to have this playlist-parsing in
> > > an own demuxer ... (It is some kind of demuxing, isn't it ?)
> > good q.
> > i don't think it's demuxing, but placing it into the demuxer layer has some
> > advantages. so why not :)
> > > It would be even more nice, to have that "Sorry, this file format is not
> > > recognized/supported" gone away, which of course now appears ...
> > yep
(hmm. what a constructive comments :))
> > > Alas, there remain some questions open:
> > >
> > > - Is such a function wished and should it be included in demuxer-level ?
> > > - If so, how can it pass entry to mplayer.c (using some of the
> > > demuxer->audio/video pointers as a hack ??? :-( )
> > for now (<=v0.90), it shouldn't be in demuxers.
> > the 'Sorry, this file format is ...' should be printed by mplayer, after
> > probing parse_playlist() after demux_open() failed.
> ok, I'll implement this and send patch ...
> > after 0.90, we'll see. i'm planning to redesign demuxers, so we can count
> > on the playlist issue too (and the subtitles too, it's another issue).
> yes, a demux-redesign would be great ...
but it will be hard to avoid the story of libvo2 :(
> What I think works best for now are the audio/video_decoders. It is such a
> great architecture ... :)
btw any volunteers to move audio encoders from mencoder.c to ae_*.c files?
A'rpi / Astral & ESP-team
Developer of MPlayer, the Movie Player for Linux - http://www.MPlayerHQ.hu
More information about the MPlayer-dev-eng