[gst-devel] directsound sink
John Janecek
nopa90 at gmail.com
Sat Dec 24 18:49:03 CET 2005
Thanx :)
The gettype override is because when i first started making plugs with
gob (like 3 weeks ago) gob did not make the correct gettype. (might be
user error :) ). So I just wacked it with a hammer till it worked :).
I only started working with gstreamer and gobjects like 3-4 weeks ago.
The "destroywith" methods are the way to go :).
Also there should be a way to deal with failure to initialize device etc.
I think that should be done in
override (Gst:Element) GstStateChangeReturn
change_state(GstElement *element, GstStateChange transition)
but I am not 100% sure.
And yes variable probably should be private :). Ignorance on my behalf :)
Anyway it is a basis for making a dsound sink that is compiler
independant, and does not require linking against the MS libs. I just
posted the code since someone mentioned they needed directsound and
directx sinks for 0.10.
Anyway thanx :)
On 12/24/05, Ikke <eikke at eikke.com> wrote:
> On Sat, 2005-12-24 at 15:32 +0800, John Janecek wrote:
> > Here is a direct sound sink i make for gstreamer0.10
>
> Cool, gob :)
>
> In the gob file, you might want to use something like
> override (Gst:Audio:Sink) gboolean close(GstAudioSink *sink (check null
> type))
> where appropriate, to get a certain level of type safety and input
> (null) validation.
>
> Is there any reason all your member variables are declared protected,
> and not private (just asking, you might have a good reason :-))
>
> You override "finalize" to free some members. You could get the same
> effect without implementing a finalize method yourself, but by using
> something like
> protected LPDIRECTSOUND lpDS = NULL
> destroywith IDirectSound_Release;
> The NULL check will be generated automagicly.
>
> As you define PRIV and _PRIV in a header, this header file should only
> be #include's in "privateheader", not in "alltop" (IMHO). You might as
> well use
> %ph{
> #define PRIV(x) self->_priv->x
> #define _PRIV self->_priv
> %}
>
> Is there any reason you define a get_type function manually? Gob should
> do that for you.
>
> I don't think you should include windows.h, dsound.h and alike in
> alltop, as the types and functions defined in these headers are only
> used internally. The headers should be included in "privateheader".
>
>
> Just trying to be helpful...
>
> Ikke
> http://www.eikke.com
>
>
More information about the gstreamer-devel
mailing list