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 )