On Thursday 27 January 2005 07:18 pm, Tim Davies wrote: > >Doesn't handle ignoring the stream later on properly. > > This is a lot better than a guaranteed segfault. It does ignore the > stream, but there is no need to abort everything if it can't find a > decoder for *one* audio track. If no audio streams are present (or > capable of being decoded) then subsequent code *should* deal with this. > A suggestion or some comments as to why it doesn't handle the streams > properly might help.
Who's saying that this is limited to audio streams? > >>ac3-4.1 - deal with audio codec changes in avformatdecoder > > > >The audio codec _can't_ change for a given streamtype. The startcode of a > >stream in a mpeg file is different based on what codec it is. Streams > >returned from libavformat are enumerated by the startcode. A new codec > > will be given a new logical stream. If this is necessary, something's > > badly wrong in the ts2ps junk the dvb code is using. > > As far as I can see, mpeg.c is not that clever. Yes, it will try and > put a stream with the same startcode into the same index in nb_streams. > It comes a little unstuck when streams disappear on a channel change, > and then it leaves an "empty" entry in nb_streams (but that is another > issue). Another issue completely. > The avformatdecoder.cpp code is not checking for a codec change *within* > a stream anyway. It is checking for a codec change when it selects a > different stream, and that certainly does happen. A lot! That patch certainly is checking for a codec change within a stream, which as stated, cannot happen unless the stream was badly muxed. >>>ac3-4.2 - setup GUI for ac3wanted option >>>ac3-4.3 - make avformatdecoder auto-select AC3 (if "ac3wanted") >> >> Won't be applying these, I don't see a need for this option. > > There are situations when you won't want the AC3 stream, if it is > available. Of the top of my head, you might have two frontends; one AC3 > capable, and one not. You can't have a non-ac3 capable frontend. > And surely if you *can* decode AC3 tracks, you want avformatdecoder to > select that track: otherwise what is the point? Are you suggesting that > it randomly selects a track, or uses the first one it finds, or what? It should present a list to the user, which it happens to do right now. Isaac _______________________________________________ mythtv-dev mailing list [email protected] http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
