[gst-devel] mixer track/device naming (again)

Leif Johnson leif at ambient.2y.net
Tue Nov 4 06:44:39 CET 2003


Hi -

On Tue, 04 Nov 2003, Ronald Bultje wrote:
> On Mon, 2003-11-03 at 23:00, Leif Johnson wrote:
> > But in the first concept, the number of GStreamer pads on an element is
> > the same as the number of tracks that it handles. In the second concept,
> > though, the number of pads on the element has almost nothing to do with
> > the number of devices in the physical output card ; for example, if I
> > use an alsasink with two pads, my sound card automatically sends both
> > signals through the PCM output device. This came up while reading the
> > alsasink code, so I wanted to discuss.
> 
> The two concepts might be more similar than you'd think at first. I had
> the same objection in the beginning, but it's not that bad when you
> think about it. What does a mixer like adder do? It takes N inputs (one
> per track, each with one GstPad), and outputs one stream, in this case
> on a GstPad. What does osssrc do? It has N *hardware* inputs (so no
> GstPad here), and one GstPad output. What does osssink do? It has one
> input, one track (the PCM output), one GstPad sink, and a hardware
> output (no GstPad). This all makes pretty much sense to me.

Hmm, good points. I hadn't thought about it like that, either.

> The issue is that we have to start thinking beyond pads.We had to start
> thinking of interfaces as something that doesn't necessarily involve
> GstPads, but something that involves what is going on inside the element
> in a highly abstracted manner.

Yes, I think I see ... like I said, this came up because the ALSA
elements define a fixed array of pads (to avoid nasty stuff like having
a list of pads) that was originally of length GST_ALSA_MAX_CHANNELS.
This didn't make so much sense to me so I changed it locally to
GST_ALSA_MAX_TRACKS but that seemed a bit strange. I think I understand
a bit better now, so I'll keep rolling with the `track' concept.

Naming sucks. : )

> > make[5]: *** No rule to make target `ffmpeg/libavformat/flvdec.c', needed by `libavformat_la-flvdec.lo'. Stop.
> > make[5]: Leaving directory `/home/leif/src/gst-plugins/gst-libs/ext/ffmpeg'
>
> Hm, you're not the only one having compile issues, though it works for
> me. Can you rm -fr gst-libs/ext/ffmpeg/ffmpeg and redo ./autogen.sh?

I figured that was the case. I'll see what I can do.

leif

--
Leif Morgan Johnson : http://ambient.2y.net/leif/




More information about the gstreamer-devel mailing list