[mythtv] AC3 + bigdvb3.5 + australia + transport.c
tim at opensystems.net.au
Fri Jan 14 20:11:06 EST 2005
Okay, I've been doing a little testing with the PS too...
It isn't a stream number thing, or *shouldn't* be. As far as I can tell, if
you start watching TV with (say) an MPEG stream, it will be on track #0. If
you change to a channel with AC3, it will put this on track #1. And then on
any subsequent channel changes, the MPEG stream will be on track #0 or the
AC3 stream will be on track #1.
Of course, it will keep selecting the AC3 track even if no packets are
there. So you just roll the track number over to the MPEG track, if you see
The mpegts.c code correctly assigns the audio tracks if there is MPEG, AC3,
or MPEG&AC3 (it has a PMT to help). Incrementing the stream number if we
see other stream packets will not work on MPEG&AC3 broadcasts nor will the
fix for recognising multiple packets, nor will checking wantedAudioStream
(because it may be wrong anyway).
The PS *should* keep the (for the moment, single) audio track on track #0.
I understand a PS doesn't really have the information to detect a stream has
disappeared (and hence no call to av_remove_stream in mpeg.c).
Incidently, it doesn't cause a problem with video as the codec never
changes. Mpeg.c keeps pumping the new video stream into the old stream.
We could either fix mpeg.c, or somehow get avformatdecoder.cpp to detect
when a stream is no longer there (and blacklist it?). The first option
would be better, but a lot more difficult.
More information about the mythtv-dev