GStreamer

 view release on metacpan or  search on metacpan

ChangeLog.pre-git  view on Meta::CPAN


	* GStreamer.pm, Makefile.PL, NEWS, README: Release 0.07.

2006/03/21	kaffeetisch

	* t/GstClock.t, t/GstElement.t: Use alsasink instead of alsasrc
	for the clock tests.  Skip some tests that I'm unable to fix at
	the moment.

	* xs/GstClock.xs (gst2perl_clock_callback): Ref the clock id to
	keep it alive.  This should make GStreamer::Clock::wait_async work
	correctly.

2006/01/29	kaffeetisch

	* GStreamer.pm, NEWS: Release 0.06.

2006/01/29	kaffeetisch

	* t/GstClock.t: "Fix" a test failure.  Implement, but skip an
	async wait test.  It seems to cause segfaults.

xs/GstBuffer.xs  view on Meta::CPAN


void gst_buffer_stamp (GstBuffer *dest, const GstBuffer *src);

# GstBuffer* gst_buffer_join (GstBuffer *buf1, GstBuffer *buf2);
GstBuffer_noinc *
gst_buffer_join (buf1, buf2)
	GstBuffer *buf1
	GstBuffer *buf2
    C_ARGS:
	/* gst_buffer_join unrefs the old buffers, but our SVs still point to
	   them, so we need to keep them alive. */
	gst_buffer_ref (buf1), gst_buffer_ref (buf2)

GstBuffer_noinc * gst_buffer_merge (GstBuffer *buf1, GstBuffer *buf2);

xs/GstCaps.xs  view on Meta::CPAN


=back

=cut

# GstCaps * gst_caps_make_writable (GstCaps *caps);
GstCaps_own *
gst_caps_make_writable (GstCaps *caps)
    C_ARGS:
	/* gst_caps_make_writable unref's mini_object, so we need to
	 * keep it alive. */
	gst_caps_ref (caps)

# FIXME?
# G_CONST_RETURN GstCaps * gst_static_caps_get (GstStaticCaps *static_caps);

# void gst_caps_append (GstCaps *caps1, GstCaps *caps2);
void
gst_caps_append (caps1, caps2)
	GstCaps *caps1
	GstCaps *caps2

xs/GstClock.xs  view on Meta::CPAN

	GPERL_CALLBACK_MARSHAL_INIT (callback);

	ENTER;
	SAVETMPS;

	PUSHMARK (SP);

	EXTEND (SP, 3);
	PUSHs (sv_2mortal (newSVGstClock (clock)));
	PUSHs (sv_2mortal (newSVGstClockTime (time)));
	/* We need to keep the clock id alive so we ref it to counter DESTROY's
	 * unref */
	PUSHs (sv_2mortal (newSVGstClockID (gst_clock_id_ref (id))));
	if (callback->data)
		XPUSHs (sv_2mortal (newSVsv (callback->data)));

	PUTBACK;

	call_sv (callback->func, G_SCALAR);

	SPAGAIN;

xs/GstClock.xs  view on Meta::CPAN


GstClockTime gst_clock_get_time (GstClock *clock);

void gst_clock_set_calibration (GstClock *clock, GstClockTime internal, GstClockTime external, GstClockTime rate_num, GstClockTime rate_denom);

# void gst_clock_get_calibration (GstClock *clock, GstClockTime *internal, GstClockTime *external, GstClockTime *rate_num, GstClockTime *rate_denom);
void gst_clock_get_calibration (GstClock *clock, OUTLIST GstClockTime internal, OUTLIST GstClockTime external, OUTLIST GstClockTime rate_num, OUTLIST GstClockTime rate_denom);

gboolean gst_clock_set_master (GstClock *clock, GstClock *master)
    C_ARGS:
	/* We need to keep master alive. */
	clock, gst_object_ref (master)

GstClock_ornull * gst_clock_get_master (GstClock *clock);

# gboolean gst_clock_add_observation (GstClock *clock, GstClockTime slave, GstClockTime master, gdouble *r_squared);
void
gst_clock_add_observation (GstClock *clock, GstClockTime slave, GstClockTime master)
    PREINIT:
	gboolean retval;
	gdouble r_squared;

xs/GstElement.xs  view on Meta::CPAN

gboolean gst_element_link_pads_filtered (GstElement *src, const gchar *srcpadname, GstElement *dest, const gchar *destpadname, GstCaps_ornull *filtercaps);

void gst_element_unlink_pads (GstElement *src, const gchar *srcpadname, GstElement *dest, const gchar *destpadname);

# gboolean gst_element_send_event (GstElement *element, GstEvent *event);
gboolean
gst_element_send_event (element, event)
	GstElement *element
	GstEvent *event
    C_ARGS:
	/* event gets unref'ed, we need to keep it alive. */
	element, gst_event_ref (event)

gboolean gst_element_seek (GstElement *element, gdouble rate, GstFormat format, GstSeekFlags flags, GstSeekType cur_type, gint64 cur, GstSeekType stop_type, gint64 stop);

# G_CONST_RETURN GstQueryType* gst_element_get_query_types (GstElement *element);
void
gst_element_get_query_types (element)
	GstElement *element
    PREINIT:
	GstQueryType *types;

xs/GstMiniObject.xs  view on Meta::CPAN

# GstMiniObject * gst_mini_object_new (GType type);
# GstMiniObject * gst_mini_object_copy (const GstMiniObject *mini_object);

gboolean gst_mini_object_is_writable (const GstMiniObject *mini_object);

# GstMiniObject * gst_mini_object_make_writable (GstMiniObject *mini_object);
GstMiniObject_noinc *
gst_mini_object_make_writable (GstMiniObject *mini_object)
    C_ARGS:
	/* gst_mini_object_make_writable unref's mini_object, so we need to
	 * keep it alive. */
	gst_mini_object_ref (mini_object)

# FIXME: Needed?
# void gst_mini_object_replace (GstMiniObject **olddata, GstMiniObject *newdata);
# GParamSpec * gst_param_spec_mini_object (const char *name, const char *nick, const char *blurb, GType object_type, GParamFlags flags);
# void gst_value_set_mini_object (GValue *value, GstMiniObject *mini_object);
# void gst_value_take_mini_object (GValue *value, GstMiniObject *mini_object);
# GstMiniObject * gst_value_get_mini_object (const GValue *value);

xs/GstPad.xs  view on Meta::CPAN

GstCaps_own * gst_pad_peer_get_caps (GstPad * pad);

gboolean gst_pad_peer_accept_caps (GstPad * pad, GstCaps *caps);

GstCaps_own_ornull * gst_pad_get_allowed_caps (GstPad * srcpad);

GstCaps_own_ornull * gst_pad_get_negotiated_caps (GstPad * pad);

GstFlowReturn gst_pad_push (GstPad *pad, GstBuffer *buffer)
    C_ARGS:
	/* We need to keep the buffer alive. */
	pad, gst_buffer_ref (buffer)

gboolean gst_pad_check_pull_range (GstPad *pad);

# GstFlowReturn gst_pad_pull_range (GstPad *pad, guint64 offset, guint size, GstBuffer **buffer);
void gst_pad_pull_range (GstPad *pad, guint64 offset, guint size)
    PREINIT:
	GstFlowReturn retval;
	GstBuffer *buffer = NULL;
    PPCODE:
	retval = gst_pad_pull_range (pad, offset, size, &buffer);
	EXTEND (sp, 2);
	PUSHs (sv_2mortal (newSVGstFlowReturn (retval)));
	PUSHs (sv_2mortal (newSVGstBuffer_ornull (buffer)));

gboolean gst_pad_push_event (GstPad *pad, GstEvent *event)
    C_ARGS:
	/* Need to keep event alive. */
	pad, gst_event_ref (event)

gboolean gst_pad_event_default (GstPad *pad, GstEvent *event)
    C_ARGS:
	/* Need to keep event alive. */
	pad, gst_event_ref (event)

GstFlowReturn gst_pad_chain (GstPad *pad, GstBuffer *buffer)
    C_ARGS:
	/* We need to keep the buffer alive. */
	pad, gst_buffer_ref (buffer)

# GstFlowReturn gst_pad_get_range (GstPad *pad, guint64 offset, guint size, GstBuffer **buffer);
void gst_pad_get_range (GstPad *pad, guint64 offset, guint size);
    PREINIT:
	GstFlowReturn retval;
	GstBuffer *buffer = NULL;
    PPCODE:
	retval = gst_pad_get_range (pad, offset, size, &buffer);
	EXTEND (sp, 2);
	PUSHs (sv_2mortal (newSVGstFlowReturn (retval)));
	PUSHs (sv_2mortal (newSVGstBuffer_ornull (buffer)));

gboolean gst_pad_send_event (GstPad *pad, GstEvent *event)
    C_ARGS:
	/* Need to keep event alive. */
	pad, gst_event_ref (event)

# gboolean gst_pad_start_task (GstPad *pad, GstTaskFunction func, gpointer data);
gboolean
gst_pad_start_task (GstPad *pad, SV *func, SV *data=NULL)
    PREINIT:
	GPerlCallback *callback;
    CODE:
	callback = gst2perl_task_func_create (func, data);
	RETVAL = gst_pad_start_task (pad, gst2perl_task_func, callback);



( run in 1.166 second using v1.01-cache-2.11-cpan-39bf76dae61 )