Hi Guanqun, On Thu, 2011-09-29 at 15:52 +0800, Lu Guanqun wrote: > On Thu, Sep 08, 2011 at 02:09:33AM +0800, Arun Raghavan wrote: > [...] > > > 3. To be able to use passthrough, do we still need changes on Gstreamer? > > > Therefore people can simply use something like 'gst-launch xxx'. And > > > how's that status? > > > > The base stuff is in git master, and some of it is en route > > (https://bugzilla.gnome.org/show_bug.cgi?id=657179). > > Hi Arun, > > I've seen that the corresponding patch is already committed in > gst-plugins-good repository. > > Reading the comments from the file: > "It transparently takes care of passing compressed format as-is if the > sink supports it, decoding if necessary, and changes to supported > formats at runtime." > > I'm confused how it negotiates with underlying alsa device? Does it > need some changes in alsa driver? E.g. I have an HDMI device, and I > would like to pass a dts-wav file directly down to this device. Are > there some commands like 'gst-launch filesrc location=test.wav ! > pulseaudiosink'? Take a look at http://pulseaudio.org/wiki/Passthrough -- it gives you the basic steps to set things up. I'll try to write up something more comprehensive soon. The DTS-in-wav case is a bit dicey. In most cases, you should be able to get the data out of wavparse, pass it to dcaparse and pass that on to pulsesink or pulseaudio directly. However, it is possible that the file is made such that it is already padded to the correct size for IEC958 transmission, which is a case we do not currently handle. The reason being that pulsesink calls a gst utility library to perform IEC 61937 payloading, which isn't possible in these sort of files (no space left for the header). We should probably just pass this on if the frames are the right size, but at the time, I deferred this decision to later since I wasn't sure what to do. Regards, Arun