mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-06 07:28:53 +00:00
collectpads2: rename to collectpads
This commit is contained in:
parent
9bcb0ea58e
commit
e076e36840
15 changed files with 890 additions and 891 deletions
|
@ -43,7 +43,7 @@
|
||||||
<xi:include href="xml/gstbitreader.xml" />
|
<xi:include href="xml/gstbitreader.xml" />
|
||||||
<xi:include href="xml/gstbytereader.xml" />
|
<xi:include href="xml/gstbytereader.xml" />
|
||||||
<xi:include href="xml/gstbytewriter.xml" />
|
<xi:include href="xml/gstbytewriter.xml" />
|
||||||
<xi:include href="xml/gstcollectpads2.xml" />
|
<xi:include href="xml/gstcollectpads.xml" />
|
||||||
<xi:include href="xml/gsttypefindhelper.xml" />
|
<xi:include href="xml/gsttypefindhelper.xml" />
|
||||||
</chapter>
|
</chapter>
|
||||||
|
|
||||||
|
|
|
@ -615,68 +615,68 @@ GST_BYTE_WRITER
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
<SECTION>
|
<SECTION>
|
||||||
<FILE>gstcollectpads2</FILE>
|
<FILE>gstcollectpads</FILE>
|
||||||
<TITLE>GstCollectPads2</TITLE>
|
<TITLE>GstCollectPads</TITLE>
|
||||||
<INCLUDE>gst/base/gstcollectpads2.h</INCLUDE>
|
<INCLUDE>gst/base/gstcollectpads.h</INCLUDE>
|
||||||
GstCollectPads2
|
GstCollectPads
|
||||||
GstCollectData2
|
GstCollectData
|
||||||
|
|
||||||
GstCollectData2DestroyNotify
|
GstCollectDataDestroyNotify
|
||||||
GstCollectPads2BufferFunction
|
GstCollectPadsBufferFunction
|
||||||
GstCollectPads2CompareFunction
|
GstCollectPadsCompareFunction
|
||||||
GstCollectPads2EventFunction
|
GstCollectPadsEventFunction
|
||||||
GstCollectPads2ClipFunction
|
GstCollectPadsClipFunction
|
||||||
GstCollectPads2Function
|
GstCollectPadsFunction
|
||||||
GstCollectPads2StateFlags
|
GstCollectPadsStateFlags
|
||||||
|
|
||||||
GST_COLLECT_PADS2_STATE
|
GST_COLLECT_PADS_STATE
|
||||||
GST_COLLECT_PADS2_STATE_IS_SET
|
GST_COLLECT_PADS_STATE_IS_SET
|
||||||
GST_COLLECT_PADS2_STATE_SET
|
GST_COLLECT_PADS_STATE_SET
|
||||||
GST_COLLECT_PADS2_STATE_UNSET
|
GST_COLLECT_PADS_STATE_UNSET
|
||||||
|
|
||||||
GST_COLLECT_PADS2_GET_STREAM_LOCK
|
GST_COLLECT_PADS_GET_STREAM_LOCK
|
||||||
GST_COLLECT_PADS2_STREAM_LOCK
|
GST_COLLECT_PADS_STREAM_LOCK
|
||||||
GST_COLLECT_PADS2_STREAM_UNLOCK
|
GST_COLLECT_PADS_STREAM_UNLOCK
|
||||||
|
|
||||||
gst_collect_pads2_new
|
gst_collect_pads_new
|
||||||
|
|
||||||
gst_collect_pads2_add_pad
|
gst_collect_pads_add_pad
|
||||||
gst_collect_pads2_add_pad_full
|
gst_collect_pads_add_pad_full
|
||||||
gst_collect_pads2_remove_pad
|
gst_collect_pads_remove_pad
|
||||||
|
|
||||||
gst_collect_pads2_start
|
gst_collect_pads_start
|
||||||
gst_collect_pads2_stop
|
gst_collect_pads_stop
|
||||||
|
|
||||||
gst_collect_pads2_available
|
gst_collect_pads_available
|
||||||
gst_collect_pads2_is_active
|
gst_collect_pads_is_active
|
||||||
|
|
||||||
gst_collect_pads2_collect
|
gst_collect_pads_collect
|
||||||
gst_collect_pads2_collect_range
|
gst_collect_pads_collect_range
|
||||||
|
|
||||||
gst_collect_pads2_flush
|
gst_collect_pads_flush
|
||||||
gst_collect_pads2_peek
|
gst_collect_pads_peek
|
||||||
gst_collect_pads2_pop
|
gst_collect_pads_pop
|
||||||
|
|
||||||
gst_collect_pads2_read
|
gst_collect_pads_read
|
||||||
gst_collect_pads2_read_buffer
|
gst_collect_pads_read_buffer
|
||||||
gst_collect_pads2_take_buffer
|
gst_collect_pads_take_buffer
|
||||||
|
|
||||||
gst_collect_pads2_set_buffer_function
|
gst_collect_pads_set_buffer_function
|
||||||
gst_collect_pads2_set_compare_function
|
gst_collect_pads_set_compare_function
|
||||||
gst_collect_pads2_set_event_function
|
gst_collect_pads_set_event_function
|
||||||
gst_collect_pads2_set_clip_function
|
gst_collect_pads_set_clip_function
|
||||||
gst_collect_pads2_set_flushing
|
gst_collect_pads_set_flushing
|
||||||
gst_collect_pads2_set_function
|
gst_collect_pads_set_function
|
||||||
gst_collect_pads2_set_waiting
|
gst_collect_pads_set_waiting
|
||||||
<SUBSECTION Standard>
|
<SUBSECTION Standard>
|
||||||
GstCollectPads2Class
|
GstCollectPadsClass
|
||||||
GST_COLLECT_PADS2
|
GST_COLLECT_PADS
|
||||||
GST_COLLECT_PADS2_CLASS
|
GST_COLLECT_PADS_CLASS
|
||||||
GST_TYPE_COLLECT_PADS2
|
GST_TYPE_COLLECT_PADS
|
||||||
GST_IS_COLLECT_PADS2
|
GST_IS_COLLECT_PADS
|
||||||
GST_IS_COLLECT_PADS2_CLASS
|
GST_IS_COLLECT_PADS_CLASS
|
||||||
GST_COLLECT_PADS2_GET_CLASS
|
GST_COLLECT_PADS_GET_CLASS
|
||||||
gst_collect_pads2_get_type
|
gst_collect_pads_get_type
|
||||||
<SUBSECTION Private>
|
<SUBSECTION Private>
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
|
||||||
|
|
|
@ -6,14 +6,14 @@
|
||||||
#include <gst/base/gstbasesrc.h>
|
#include <gst/base/gstbasesrc.h>
|
||||||
#include <gst/base/gstbasesink.h>
|
#include <gst/base/gstbasesink.h>
|
||||||
#include <gst/base/gstbasetransform.h>
|
#include <gst/base/gstbasetransform.h>
|
||||||
#include <gst/base/gstcollectpads2.h>
|
#include <gst/base/gstcollectpads.h>
|
||||||
#include <gst/base/gstpushsrc.h>
|
#include <gst/base/gstpushsrc.h>
|
||||||
|
|
||||||
gst_adapter_get_type
|
gst_adapter_get_type
|
||||||
gst_base_src_get_type
|
gst_base_src_get_type
|
||||||
gst_base_sink_get_type
|
gst_base_sink_get_type
|
||||||
gst_base_transform_get_type
|
gst_base_transform_get_type
|
||||||
gst_collect_pads2_get_type
|
gst_collect_pads_get_type
|
||||||
gst_push_src_get_type
|
gst_push_src_get_type
|
||||||
|
|
||||||
% controller
|
% controller
|
||||||
|
|
|
@ -11,7 +11,7 @@ libgstbase_@GST_API_VERSION@_la_SOURCES = \
|
||||||
gstbitreader.c \
|
gstbitreader.c \
|
||||||
gstbytereader.c \
|
gstbytereader.c \
|
||||||
gstbytewriter.c \
|
gstbytewriter.c \
|
||||||
gstcollectpads2.c \
|
gstcollectpads.c \
|
||||||
gstpushsrc.c \
|
gstpushsrc.c \
|
||||||
gsttypefindhelper.c
|
gsttypefindhelper.c
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ libgstbase_@GST_API_VERSION@include_HEADERS = \
|
||||||
gstbitreader.h \
|
gstbitreader.h \
|
||||||
gstbytereader.h \
|
gstbytereader.h \
|
||||||
gstbytewriter.h \
|
gstbytewriter.h \
|
||||||
gstcollectpads2.h \
|
gstcollectpads.h \
|
||||||
gstpushsrc.h \
|
gstpushsrc.h \
|
||||||
gsttypefindhelper.h
|
gsttypefindhelper.h
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
396
libs/gst/base/gstcollectpads.h
Normal file
396
libs/gst/base/gstcollectpads.h
Normal file
|
@ -0,0 +1,396 @@
|
||||||
|
/* GStreamer
|
||||||
|
* Copyright (C) 2005 Wim Taymans <wim@fluendo.com>
|
||||||
|
* Copyright (C) 2008 Mark Nauwelaerts <mnauw@users.sourceforge.net>
|
||||||
|
*
|
||||||
|
* gstcollectpads.h:
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Library General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Library General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Library General Public
|
||||||
|
* License along with this library; if not, write to the
|
||||||
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
* Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __GST_COLLECT_PADS_H__
|
||||||
|
#define __GST_COLLECT_PADS_H__
|
||||||
|
|
||||||
|
#include <gst/gst.h>
|
||||||
|
|
||||||
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
#define GST_TYPE_COLLECT_PADS (gst_collect_pads_get_type())
|
||||||
|
#define GST_COLLECT_PADS(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_COLLECT_PADS,GstCollectPads))
|
||||||
|
#define GST_COLLECT_PADS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_COLLECT_PADS,GstCollectPadsClass))
|
||||||
|
#define GST_COLLECT_PADS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),GST_TYPE_COLLECT_PADS,GstCollectPadsClass))
|
||||||
|
#define GST_IS_COLLECT_PADS(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_COLLECT_PADS))
|
||||||
|
#define GST_IS_COLLECT_PADS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_COLLECT_PADS))
|
||||||
|
|
||||||
|
typedef struct _GstCollectData GstCollectData;
|
||||||
|
typedef struct _GstCollectDataPrivate GstCollectDataPrivate;
|
||||||
|
typedef struct _GstCollectPads GstCollectPads;
|
||||||
|
typedef struct _GstCollectPadsPrivate GstCollectPadsPrivate;
|
||||||
|
typedef struct _GstCollectPadsClass GstCollectPadsClass;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GstCollectDataDestroyNotify:
|
||||||
|
* @data: the #GstCollectData that will be freed
|
||||||
|
*
|
||||||
|
* A function that will be called when the #GstCollectData will be freed.
|
||||||
|
* It is passed the pointer to the structure and should free any custom
|
||||||
|
* memory and resources allocated for it.
|
||||||
|
*
|
||||||
|
* Since: 0.10.36
|
||||||
|
*/
|
||||||
|
typedef void (*GstCollectDataDestroyNotify) (GstCollectData *data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GstCollectPadsStateFlags:
|
||||||
|
* @GST_COLLECT_PADS_STATE_EOS: Set if collectdata's pad is EOS.
|
||||||
|
* @GST_COLLECT_PADS_STATE_FLUSHING: Set if collectdata's pad is flushing.
|
||||||
|
* @GST_COLLECT_PADS_STATE_NEW_SEGMENT: Set if collectdata's pad received a
|
||||||
|
* new_segment event.
|
||||||
|
* @GST_COLLECT_PADS_STATE_WAITING: Set if collectdata's pad must be waited
|
||||||
|
* for when collecting.
|
||||||
|
* @GST_COLLECT_PADS_STATE_LOCKED: Set collectdata's pad WAITING state must
|
||||||
|
* not be changed.
|
||||||
|
* #GstCollectPadsStateFlags indicate private state of a collectdata('s pad).
|
||||||
|
*
|
||||||
|
* Since: 0.10.36
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
GST_COLLECT_PADS_STATE_EOS = 1 << 0,
|
||||||
|
GST_COLLECT_PADS_STATE_FLUSHING = 1 << 1,
|
||||||
|
GST_COLLECT_PADS_STATE_NEW_SEGMENT = 1 << 2,
|
||||||
|
GST_COLLECT_PADS_STATE_WAITING = 1 << 3,
|
||||||
|
GST_COLLECT_PADS_STATE_LOCKED = 1 << 4
|
||||||
|
} GstCollectPadsStateFlags;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GST_COLLECT_PADS_STATE:
|
||||||
|
* @data: a #GstCollectData.
|
||||||
|
*
|
||||||
|
* A flags word containing #GstCollectPadsStateFlags flags set
|
||||||
|
* on this collected pad.
|
||||||
|
*
|
||||||
|
* Since: 0.10.36
|
||||||
|
*/
|
||||||
|
#define GST_COLLECT_PADS_STATE(data) (((GstCollectData *) data)->state)
|
||||||
|
/**
|
||||||
|
* GST_COLLECT_PADS_STATE_IS_SET:
|
||||||
|
* @data: a #GstCollectData.
|
||||||
|
* @flag: the #GstCollectPadsStateFlags to check.
|
||||||
|
*
|
||||||
|
* Gives the status of a specific flag on a collected pad.
|
||||||
|
*
|
||||||
|
* Since: 0.10.36
|
||||||
|
*/
|
||||||
|
#define GST_COLLECT_PADS_STATE_IS_SET(data,flag) !!(GST_COLLECT_PADS_STATE (data) & flag)
|
||||||
|
/**
|
||||||
|
* GST_COLLECT_PADS_STATE_SET:
|
||||||
|
* @data: a #GstCollectData.
|
||||||
|
* @flag: the #GstCollectPadsStateFlags to set.
|
||||||
|
*
|
||||||
|
* Sets a state flag on a collected pad.
|
||||||
|
*
|
||||||
|
* Since: 0.10.36
|
||||||
|
*/
|
||||||
|
#define GST_COLLECT_PADS_STATE_SET(data,flag) (GST_COLLECT_PADS_STATE (data) |= flag)
|
||||||
|
/**
|
||||||
|
* GST_COLLECT_PADS_STATE_UNSET:
|
||||||
|
* @data: a #GstCollectData.
|
||||||
|
* @flag: the #GstCollectPadsStateFlags to clear.
|
||||||
|
*
|
||||||
|
* Clears a state flag on a collected pad.
|
||||||
|
*
|
||||||
|
* Since: 0.10.36
|
||||||
|
*/
|
||||||
|
#define GST_COLLECT_PADS_STATE_UNSET(data,flag) (GST_COLLECT_PADS_STATE (data) &= ~(flag))
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GstCollectData:
|
||||||
|
* @collect: owner #GstCollectPads
|
||||||
|
* @pad: #GstPad managed by this data
|
||||||
|
* @buffer: currently queued buffer.
|
||||||
|
* @pos: position in the buffer
|
||||||
|
* @segment: last segment received.
|
||||||
|
*
|
||||||
|
* Structure used by the collect_pads.
|
||||||
|
*
|
||||||
|
* Since: 0.10.36
|
||||||
|
*/
|
||||||
|
struct _GstCollectData
|
||||||
|
{
|
||||||
|
/* with STREAM_LOCK of @collect */
|
||||||
|
GstCollectPads *collect;
|
||||||
|
GstPad *pad;
|
||||||
|
GstBuffer *buffer;
|
||||||
|
guint pos;
|
||||||
|
GstSegment segment;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
/* state: bitfield for easier extension;
|
||||||
|
* eos, flushing, new_segment, waiting */
|
||||||
|
GstCollectPadsStateFlags state;
|
||||||
|
|
||||||
|
GstCollectDataPrivate *priv;
|
||||||
|
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GstCollectPadsFunction:
|
||||||
|
* @pads: the #GstCollectPads that trigered the callback
|
||||||
|
* @user_data: user data passed to gst_collect_pads_set_function()
|
||||||
|
*
|
||||||
|
* A function that will be called when all pads have received data.
|
||||||
|
*
|
||||||
|
* Returns: #GST_FLOW_OK for success
|
||||||
|
*
|
||||||
|
* Since: 0.10.36
|
||||||
|
*/
|
||||||
|
typedef GstFlowReturn (*GstCollectPadsFunction) (GstCollectPads *pads, gpointer user_data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GstCollectPadsBufferFunction:
|
||||||
|
* @pads: the #GstCollectPads that trigered the callback
|
||||||
|
* @data: the #GstCollectData of pad that has received the buffer
|
||||||
|
* @buffer: the #GstBuffer
|
||||||
|
* @user_data: user data passed to gst_collect_pads_set_buffer_function()
|
||||||
|
*
|
||||||
|
* A function that will be called when a (considered oldest) buffer can be muxed.
|
||||||
|
* If all pads have reached EOS, this function is called with NULL @buffer
|
||||||
|
* and NULL @data.
|
||||||
|
*
|
||||||
|
* Returns: #GST_FLOW_OK for success
|
||||||
|
*
|
||||||
|
* Since: 0.10.36
|
||||||
|
*/
|
||||||
|
typedef GstFlowReturn (*GstCollectPadsBufferFunction) (GstCollectPads *pads, GstCollectData *data,
|
||||||
|
GstBuffer *buffer, gpointer user_data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GstCollectPadsCompareFunction:
|
||||||
|
* @pads: the #GstCollectPads that is comparing the timestamps
|
||||||
|
* @data1: the first #GstCollectData
|
||||||
|
* @timestamp1: the first timestamp
|
||||||
|
* @data2: the second #GstCollectData
|
||||||
|
* @timestamp2: the second timestamp
|
||||||
|
* @user_data: user data passed to gst_collect_pads_set_compare_function()
|
||||||
|
*
|
||||||
|
* A function for comparing two timestamps of buffers or newsegments collected on one pad.
|
||||||
|
*
|
||||||
|
* Returns: Integer less than zero when first timestamp is deemed older than the second one.
|
||||||
|
* Zero if the timestamps are deemed equally old.
|
||||||
|
* Integer greate than zero when second timestamp is deemed older than the first one.
|
||||||
|
*
|
||||||
|
* Since: 0.10.36
|
||||||
|
*/
|
||||||
|
typedef gint (*GstCollectPadsCompareFunction) (GstCollectPads *pads,
|
||||||
|
GstCollectData * data1, GstClockTime timestamp1,
|
||||||
|
GstCollectData * data2, GstClockTime timestamp2,
|
||||||
|
gpointer user_data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GstCollectPadsEventFunction:
|
||||||
|
* @pads: the #GstCollectPads that trigered the callback
|
||||||
|
* @pad: the #GstPad that received an event
|
||||||
|
* @event: the #GstEvent received
|
||||||
|
* @user_data: user data passed to gst_collect_pads_set_event_function()
|
||||||
|
*
|
||||||
|
* A function that will be called while processing an event. It takes
|
||||||
|
* ownership of the event and is responsible for chaining up (to
|
||||||
|
* gst_collect_pads_event_default()) or dropping events (such typical cases
|
||||||
|
* being handled by the default handler).
|
||||||
|
*
|
||||||
|
* Returns: %TRUE if the pad could handle the event
|
||||||
|
*
|
||||||
|
* Since: 0.10.36
|
||||||
|
*/
|
||||||
|
typedef gboolean (*GstCollectPadsEventFunction) (GstCollectPads *pads, GstCollectData * pad,
|
||||||
|
GstEvent * event, gpointer user_data);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GstCollectPadsQueryFunction:
|
||||||
|
* @pads: the #GstCollectPads that trigered the callback
|
||||||
|
* @pad: the #GstPad that received an event
|
||||||
|
* @query: the #GstEvent received
|
||||||
|
* @user_data: user data passed to gst_collect_pads_set_query_function()
|
||||||
|
*
|
||||||
|
* A function that will be called while processing a query. It takes
|
||||||
|
* ownership of the query and is responsible for chaining up (to
|
||||||
|
* events downstream (with gst_pad_event_default()).
|
||||||
|
*
|
||||||
|
* Returns: %TRUE if the pad could handle the event
|
||||||
|
*
|
||||||
|
* Since: 0.11.x
|
||||||
|
*/
|
||||||
|
typedef gboolean (*GstCollectPadsQueryFunction) (GstCollectPads *pads, GstCollectData * pad,
|
||||||
|
GstQuery * query, gpointer user_data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GstCollectPadsClipFunction:
|
||||||
|
* @pads: a #GstCollectPads
|
||||||
|
* @data: a #GstCollectData
|
||||||
|
* @inbuffer: the input #GstBuffer
|
||||||
|
* @outbuffer: the output #GstBuffer
|
||||||
|
* @user_data: user data
|
||||||
|
*
|
||||||
|
* A function that will be called when @inbuffer is received on the pad managed
|
||||||
|
* by @data in the collecpad object @pads.
|
||||||
|
*
|
||||||
|
* The function should use the segment of @data and the negotiated media type on
|
||||||
|
* the pad to perform clipping of @inbuffer.
|
||||||
|
*
|
||||||
|
* This function takes ownership of @inbuffer and should output a buffer in
|
||||||
|
* @outbuffer or return %NULL in @outbuffer if the buffer should be dropped.
|
||||||
|
*
|
||||||
|
* Returns: a #GstFlowReturn that corresponds to the result of clipping.
|
||||||
|
*
|
||||||
|
* Since: 0.10.36
|
||||||
|
*/
|
||||||
|
typedef GstFlowReturn (*GstCollectPadsClipFunction) (GstCollectPads *pads, GstCollectData *data,
|
||||||
|
GstBuffer *inbuffer, GstBuffer **outbuffer,
|
||||||
|
gpointer user_data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GST_COLLECT_PADS_GET_STREAM_LOCK:
|
||||||
|
* @pads: a #GstCollectPads
|
||||||
|
*
|
||||||
|
* Get the stream lock of @pads. The stream lock is used to coordinate and
|
||||||
|
* serialize execution among the various streams being collected, and in
|
||||||
|
* protecting the resources used to accomplish this.
|
||||||
|
*
|
||||||
|
* Since: 0.10.36
|
||||||
|
*/
|
||||||
|
#define GST_COLLECT_PADS_GET_STREAM_LOCK(pads) (&((GstCollectPads *)pads)->stream_lock)
|
||||||
|
/**
|
||||||
|
* GST_COLLECT_PADS_STREAM_LOCK:
|
||||||
|
* @pads: a #GstCollectPads
|
||||||
|
*
|
||||||
|
* Lock the stream lock of @pads.
|
||||||
|
*
|
||||||
|
* Since: 0.10.36
|
||||||
|
*/
|
||||||
|
#define GST_COLLECT_PADS_STREAM_LOCK(pads) g_rec_mutex_lock(GST_COLLECT_PADS_GET_STREAM_LOCK (pads))
|
||||||
|
/**
|
||||||
|
* GST_COLLECT_PADS_STREAM_UNLOCK:
|
||||||
|
* @pads: a #GstCollectPads
|
||||||
|
*
|
||||||
|
* Unlock the stream lock of @pads.
|
||||||
|
*
|
||||||
|
* Since: 0.10.36
|
||||||
|
*/
|
||||||
|
#define GST_COLLECT_PADS_STREAM_UNLOCK(pads) g_rec_mutex_unlock(GST_COLLECT_PADS_GET_STREAM_LOCK (pads))
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GstCollectPads:
|
||||||
|
* @data: #GList of #GstCollectData managed by this #GstCollectPads.
|
||||||
|
*
|
||||||
|
* Collectpads object.
|
||||||
|
*
|
||||||
|
* Since: 0.10.36
|
||||||
|
*/
|
||||||
|
struct _GstCollectPads {
|
||||||
|
GstObject object;
|
||||||
|
|
||||||
|
/*< public >*/ /* with LOCK and/or STREAM_LOCK */
|
||||||
|
GSList *data; /* list of CollectData items */
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
GRecMutex stream_lock; /* used to serialize collection among several streams */
|
||||||
|
|
||||||
|
GstCollectPadsPrivate *priv;
|
||||||
|
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _GstCollectPadsClass {
|
||||||
|
GstObjectClass parent_class;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
|
};
|
||||||
|
|
||||||
|
GType gst_collect_pads_get_type(void);
|
||||||
|
|
||||||
|
/* creating the object */
|
||||||
|
GstCollectPads* gst_collect_pads_new (void);
|
||||||
|
|
||||||
|
/* set the callbacks */
|
||||||
|
void gst_collect_pads_set_function (GstCollectPads *pads,
|
||||||
|
GstCollectPadsFunction func,
|
||||||
|
gpointer user_data);
|
||||||
|
void gst_collect_pads_set_buffer_function (GstCollectPads *pads,
|
||||||
|
GstCollectPadsBufferFunction func,
|
||||||
|
gpointer user_data);
|
||||||
|
void gst_collect_pads_set_event_function (GstCollectPads *pads,
|
||||||
|
GstCollectPadsEventFunction func,
|
||||||
|
gpointer user_data);
|
||||||
|
void gst_collect_pads_set_query_function (GstCollectPads *pads,
|
||||||
|
GstCollectPadsQueryFunction func,
|
||||||
|
gpointer user_data);
|
||||||
|
void gst_collect_pads_set_compare_function (GstCollectPads *pads,
|
||||||
|
GstCollectPadsCompareFunction func,
|
||||||
|
gpointer user_data);
|
||||||
|
void gst_collect_pads_set_clip_function (GstCollectPads *pads,
|
||||||
|
GstCollectPadsClipFunction clipfunc,
|
||||||
|
gpointer user_data);
|
||||||
|
|
||||||
|
/* pad management */
|
||||||
|
GstCollectData* gst_collect_pads_add_pad (GstCollectPads *pads, GstPad *pad, guint size);
|
||||||
|
GstCollectData* gst_collect_pads_add_pad_full (GstCollectPads *pads, GstPad *pad, guint size,
|
||||||
|
GstCollectDataDestroyNotify destroy_notify,
|
||||||
|
gboolean lock);
|
||||||
|
gboolean gst_collect_pads_remove_pad (GstCollectPads *pads, GstPad *pad);
|
||||||
|
gboolean gst_collect_pads_is_active (GstCollectPads *pads, GstPad *pad);
|
||||||
|
|
||||||
|
/* start/stop collection */
|
||||||
|
GstFlowReturn gst_collect_pads_collect (GstCollectPads *pads);
|
||||||
|
GstFlowReturn gst_collect_pads_collect_range (GstCollectPads *pads, guint64 offset, guint length);
|
||||||
|
|
||||||
|
void gst_collect_pads_start (GstCollectPads *pads);
|
||||||
|
void gst_collect_pads_stop (GstCollectPads *pads);
|
||||||
|
void gst_collect_pads_set_flushing (GstCollectPads *pads, gboolean flushing);
|
||||||
|
|
||||||
|
/* get collected buffers */
|
||||||
|
GstBuffer* gst_collect_pads_peek (GstCollectPads *pads, GstCollectData *data);
|
||||||
|
GstBuffer* gst_collect_pads_pop (GstCollectPads *pads, GstCollectData *data);
|
||||||
|
|
||||||
|
/* get collected bytes */
|
||||||
|
guint gst_collect_pads_available (GstCollectPads *pads);
|
||||||
|
guint gst_collect_pads_flush (GstCollectPads *pads, GstCollectData *data,
|
||||||
|
guint size);
|
||||||
|
GstBuffer* gst_collect_pads_read_buffer (GstCollectPads * pads, GstCollectData * data,
|
||||||
|
guint size);
|
||||||
|
GstBuffer* gst_collect_pads_take_buffer (GstCollectPads * pads, GstCollectData * data,
|
||||||
|
guint size);
|
||||||
|
|
||||||
|
/* setting and unsetting waiting mode */
|
||||||
|
void gst_collect_pads_set_waiting (GstCollectPads *pads, GstCollectData *data,
|
||||||
|
gboolean waiting);
|
||||||
|
|
||||||
|
/* convenience helper */
|
||||||
|
GstFlowReturn gst_collect_pads_clip_running_time (GstCollectPads * pads,
|
||||||
|
GstCollectData * cdata, GstBuffer * buf, GstBuffer ** outbuf,
|
||||||
|
gpointer user_data);
|
||||||
|
|
||||||
|
/* default handlers */
|
||||||
|
gboolean gst_collect_pads_event_default (GstCollectPads * pads, GstCollectData * data,
|
||||||
|
GstEvent * event, gboolean discard);
|
||||||
|
gboolean gst_collect_pads_query_default (GstCollectPads * pads, GstCollectData * data,
|
||||||
|
GstQuery * query, gboolean discard);
|
||||||
|
|
||||||
|
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
#endif /* __GST_COLLECT_PADS_H__ */
|
|
@ -1,396 +0,0 @@
|
||||||
/* GStreamer
|
|
||||||
* Copyright (C) 2005 Wim Taymans <wim@fluendo.com>
|
|
||||||
* Copyright (C) 2008 Mark Nauwelaerts <mnauw@users.sourceforge.net>
|
|
||||||
*
|
|
||||||
* gstcollectpads2.h:
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Library General Public
|
|
||||||
* License as published by the Free Software Foundation; either
|
|
||||||
* version 2 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This library is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* Library General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Library General Public
|
|
||||||
* License along with this library; if not, write to the
|
|
||||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
||||||
* Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __GST_COLLECT_PADS2_H__
|
|
||||||
#define __GST_COLLECT_PADS2_H__
|
|
||||||
|
|
||||||
#include <gst/gst.h>
|
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
|
||||||
|
|
||||||
#define GST_TYPE_COLLECT_PADS2 (gst_collect_pads2_get_type())
|
|
||||||
#define GST_COLLECT_PADS2(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_COLLECT_PADS2,GstCollectPads2))
|
|
||||||
#define GST_COLLECT_PADS2_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_COLLECT_PADS2,GstCollectPads2Class))
|
|
||||||
#define GST_COLLECT_PADS2_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),GST_TYPE_COLLECT_PADS2,GstCollectPads2Class))
|
|
||||||
#define GST_IS_COLLECT_PADS2(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_COLLECT_PADS2))
|
|
||||||
#define GST_IS_COLLECT_PADS2_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_COLLECT_PADS2))
|
|
||||||
|
|
||||||
typedef struct _GstCollectData2 GstCollectData2;
|
|
||||||
typedef struct _GstCollectData2Private GstCollectData2Private;
|
|
||||||
typedef struct _GstCollectPads2 GstCollectPads2;
|
|
||||||
typedef struct _GstCollectPads2Private GstCollectPads2Private;
|
|
||||||
typedef struct _GstCollectPads2Class GstCollectPads2Class;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GstCollectData2DestroyNotify:
|
|
||||||
* @data: the #GstCollectData2 that will be freed
|
|
||||||
*
|
|
||||||
* A function that will be called when the #GstCollectData2 will be freed.
|
|
||||||
* It is passed the pointer to the structure and should free any custom
|
|
||||||
* memory and resources allocated for it.
|
|
||||||
*
|
|
||||||
* Since: 0.10.36
|
|
||||||
*/
|
|
||||||
typedef void (*GstCollectData2DestroyNotify) (GstCollectData2 *data);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GstCollectPads2StateFlags:
|
|
||||||
* @GST_COLLECT_PADS2_STATE_EOS: Set if collectdata's pad is EOS.
|
|
||||||
* @GST_COLLECT_PADS2_STATE_FLUSHING: Set if collectdata's pad is flushing.
|
|
||||||
* @GST_COLLECT_PADS2_STATE_NEW_SEGMENT: Set if collectdata's pad received a
|
|
||||||
* new_segment event.
|
|
||||||
* @GST_COLLECT_PADS2_STATE_WAITING: Set if collectdata's pad must be waited
|
|
||||||
* for when collecting.
|
|
||||||
* @GST_COLLECT_PADS2_STATE_LOCKED: Set collectdata's pad WAITING state must
|
|
||||||
* not be changed.
|
|
||||||
* #GstCollectPads2StateFlags indicate private state of a collectdata('s pad).
|
|
||||||
*
|
|
||||||
* Since: 0.10.36
|
|
||||||
*/
|
|
||||||
typedef enum {
|
|
||||||
GST_COLLECT_PADS2_STATE_EOS = 1 << 0,
|
|
||||||
GST_COLLECT_PADS2_STATE_FLUSHING = 1 << 1,
|
|
||||||
GST_COLLECT_PADS2_STATE_NEW_SEGMENT = 1 << 2,
|
|
||||||
GST_COLLECT_PADS2_STATE_WAITING = 1 << 3,
|
|
||||||
GST_COLLECT_PADS2_STATE_LOCKED = 1 << 4
|
|
||||||
} GstCollectPads2StateFlags;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GST_COLLECT_PADS2_STATE:
|
|
||||||
* @data: a #GstCollectData2.
|
|
||||||
*
|
|
||||||
* A flags word containing #GstCollectPads2StateFlags flags set
|
|
||||||
* on this collected pad.
|
|
||||||
*
|
|
||||||
* Since: 0.10.36
|
|
||||||
*/
|
|
||||||
#define GST_COLLECT_PADS2_STATE(data) (((GstCollectData2 *) data)->state)
|
|
||||||
/**
|
|
||||||
* GST_COLLECT_PADS2_STATE_IS_SET:
|
|
||||||
* @data: a #GstCollectData2.
|
|
||||||
* @flag: the #GstCollectPads2StateFlags to check.
|
|
||||||
*
|
|
||||||
* Gives the status of a specific flag on a collected pad.
|
|
||||||
*
|
|
||||||
* Since: 0.10.36
|
|
||||||
*/
|
|
||||||
#define GST_COLLECT_PADS2_STATE_IS_SET(data,flag) !!(GST_COLLECT_PADS2_STATE (data) & flag)
|
|
||||||
/**
|
|
||||||
* GST_COLLECT_PADS2_STATE_SET:
|
|
||||||
* @data: a #GstCollectData2.
|
|
||||||
* @flag: the #GstCollectPads2StateFlags to set.
|
|
||||||
*
|
|
||||||
* Sets a state flag on a collected pad.
|
|
||||||
*
|
|
||||||
* Since: 0.10.36
|
|
||||||
*/
|
|
||||||
#define GST_COLLECT_PADS2_STATE_SET(data,flag) (GST_COLLECT_PADS2_STATE (data) |= flag)
|
|
||||||
/**
|
|
||||||
* GST_COLLECT_PADS2_STATE_UNSET:
|
|
||||||
* @data: a #GstCollectData2.
|
|
||||||
* @flag: the #GstCollectPads2StateFlags to clear.
|
|
||||||
*
|
|
||||||
* Clears a state flag on a collected pad.
|
|
||||||
*
|
|
||||||
* Since: 0.10.36
|
|
||||||
*/
|
|
||||||
#define GST_COLLECT_PADS2_STATE_UNSET(data,flag) (GST_COLLECT_PADS2_STATE (data) &= ~(flag))
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GstCollectData2:
|
|
||||||
* @collect: owner #GstCollectPads2
|
|
||||||
* @pad: #GstPad managed by this data
|
|
||||||
* @buffer: currently queued buffer.
|
|
||||||
* @pos: position in the buffer
|
|
||||||
* @segment: last segment received.
|
|
||||||
*
|
|
||||||
* Structure used by the collect_pads2.
|
|
||||||
*
|
|
||||||
* Since: 0.10.36
|
|
||||||
*/
|
|
||||||
struct _GstCollectData2
|
|
||||||
{
|
|
||||||
/* with STREAM_LOCK of @collect */
|
|
||||||
GstCollectPads2 *collect;
|
|
||||||
GstPad *pad;
|
|
||||||
GstBuffer *buffer;
|
|
||||||
guint pos;
|
|
||||||
GstSegment segment;
|
|
||||||
|
|
||||||
/*< private >*/
|
|
||||||
/* state: bitfield for easier extension;
|
|
||||||
* eos, flushing, new_segment, waiting */
|
|
||||||
GstCollectPads2StateFlags state;
|
|
||||||
|
|
||||||
GstCollectData2Private *priv;
|
|
||||||
|
|
||||||
gpointer _gst_reserved[GST_PADDING];
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GstCollectPads2Function:
|
|
||||||
* @pads: the #GstCollectPads2 that trigered the callback
|
|
||||||
* @user_data: user data passed to gst_collect_pads2_set_function()
|
|
||||||
*
|
|
||||||
* A function that will be called when all pads have received data.
|
|
||||||
*
|
|
||||||
* Returns: #GST_FLOW_OK for success
|
|
||||||
*
|
|
||||||
* Since: 0.10.36
|
|
||||||
*/
|
|
||||||
typedef GstFlowReturn (*GstCollectPads2Function) (GstCollectPads2 *pads, gpointer user_data);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GstCollectPads2BufferFunction:
|
|
||||||
* @pads: the #GstCollectPads2 that trigered the callback
|
|
||||||
* @data: the #GstCollectData2 of pad that has received the buffer
|
|
||||||
* @buffer: the #GstBuffer
|
|
||||||
* @user_data: user data passed to gst_collect_pads2_set_buffer_function()
|
|
||||||
*
|
|
||||||
* A function that will be called when a (considered oldest) buffer can be muxed.
|
|
||||||
* If all pads have reached EOS, this function is called with NULL @buffer
|
|
||||||
* and NULL @data.
|
|
||||||
*
|
|
||||||
* Returns: #GST_FLOW_OK for success
|
|
||||||
*
|
|
||||||
* Since: 0.10.36
|
|
||||||
*/
|
|
||||||
typedef GstFlowReturn (*GstCollectPads2BufferFunction) (GstCollectPads2 *pads, GstCollectData2 *data,
|
|
||||||
GstBuffer *buffer, gpointer user_data);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GstCollectPads2CompareFunction:
|
|
||||||
* @pads: the #GstCollectPads that is comparing the timestamps
|
|
||||||
* @data1: the first #GstCollectData2
|
|
||||||
* @timestamp1: the first timestamp
|
|
||||||
* @data2: the second #GstCollectData2
|
|
||||||
* @timestamp2: the second timestamp
|
|
||||||
* @user_data: user data passed to gst_collect_pads2_set_compare_function()
|
|
||||||
*
|
|
||||||
* A function for comparing two timestamps of buffers or newsegments collected on one pad.
|
|
||||||
*
|
|
||||||
* Returns: Integer less than zero when first timestamp is deemed older than the second one.
|
|
||||||
* Zero if the timestamps are deemed equally old.
|
|
||||||
* Integer greate than zero when second timestamp is deemed older than the first one.
|
|
||||||
*
|
|
||||||
* Since: 0.10.36
|
|
||||||
*/
|
|
||||||
typedef gint (*GstCollectPads2CompareFunction) (GstCollectPads2 *pads,
|
|
||||||
GstCollectData2 * data1, GstClockTime timestamp1,
|
|
||||||
GstCollectData2 * data2, GstClockTime timestamp2,
|
|
||||||
gpointer user_data);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GstCollectPads2EventFunction:
|
|
||||||
* @pads: the #GstCollectPads2 that trigered the callback
|
|
||||||
* @pad: the #GstPad that received an event
|
|
||||||
* @event: the #GstEvent received
|
|
||||||
* @user_data: user data passed to gst_collect_pads2_set_event_function()
|
|
||||||
*
|
|
||||||
* A function that will be called while processing an event. It takes
|
|
||||||
* ownership of the event and is responsible for chaining up (to
|
|
||||||
* gst_collect_pads2_event_default()) or dropping events (such typical cases
|
|
||||||
* being handled by the default handler).
|
|
||||||
*
|
|
||||||
* Returns: %TRUE if the pad could handle the event
|
|
||||||
*
|
|
||||||
* Since: 0.10.36
|
|
||||||
*/
|
|
||||||
typedef gboolean (*GstCollectPads2EventFunction) (GstCollectPads2 *pads, GstCollectData2 * pad,
|
|
||||||
GstEvent * event, gpointer user_data);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GstCollectPads2QueryFunction:
|
|
||||||
* @pads: the #GstCollectPads2 that trigered the callback
|
|
||||||
* @pad: the #GstPad that received an event
|
|
||||||
* @query: the #GstEvent received
|
|
||||||
* @user_data: user data passed to gst_collect_pads2_set_query_function()
|
|
||||||
*
|
|
||||||
* A function that will be called while processing a query. It takes
|
|
||||||
* ownership of the query and is responsible for chaining up (to
|
|
||||||
* events downstream (with gst_pad_event_default()).
|
|
||||||
*
|
|
||||||
* Returns: %TRUE if the pad could handle the event
|
|
||||||
*
|
|
||||||
* Since: 0.11.x
|
|
||||||
*/
|
|
||||||
typedef gboolean (*GstCollectPads2QueryFunction) (GstCollectPads2 *pads, GstCollectData2 * pad,
|
|
||||||
GstQuery * query, gpointer user_data);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GstCollectPads2ClipFunction:
|
|
||||||
* @pads: a #GstCollectPads2
|
|
||||||
* @data: a #GstCollectData2
|
|
||||||
* @inbuffer: the input #GstBuffer
|
|
||||||
* @outbuffer: the output #GstBuffer
|
|
||||||
* @user_data: user data
|
|
||||||
*
|
|
||||||
* A function that will be called when @inbuffer is received on the pad managed
|
|
||||||
* by @data in the collecpad object @pads.
|
|
||||||
*
|
|
||||||
* The function should use the segment of @data and the negotiated media type on
|
|
||||||
* the pad to perform clipping of @inbuffer.
|
|
||||||
*
|
|
||||||
* This function takes ownership of @inbuffer and should output a buffer in
|
|
||||||
* @outbuffer or return %NULL in @outbuffer if the buffer should be dropped.
|
|
||||||
*
|
|
||||||
* Returns: a #GstFlowReturn that corresponds to the result of clipping.
|
|
||||||
*
|
|
||||||
* Since: 0.10.36
|
|
||||||
*/
|
|
||||||
typedef GstFlowReturn (*GstCollectPads2ClipFunction) (GstCollectPads2 *pads, GstCollectData2 *data,
|
|
||||||
GstBuffer *inbuffer, GstBuffer **outbuffer,
|
|
||||||
gpointer user_data);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GST_COLLECT_PADS2_GET_STREAM_LOCK:
|
|
||||||
* @pads: a #GstCollectPads2
|
|
||||||
*
|
|
||||||
* Get the stream lock of @pads. The stream lock is used to coordinate and
|
|
||||||
* serialize execution among the various streams being collected, and in
|
|
||||||
* protecting the resources used to accomplish this.
|
|
||||||
*
|
|
||||||
* Since: 0.10.36
|
|
||||||
*/
|
|
||||||
#define GST_COLLECT_PADS2_GET_STREAM_LOCK(pads) (&((GstCollectPads2 *)pads)->stream_lock)
|
|
||||||
/**
|
|
||||||
* GST_COLLECT_PADS2_STREAM_LOCK:
|
|
||||||
* @pads: a #GstCollectPads2
|
|
||||||
*
|
|
||||||
* Lock the stream lock of @pads.
|
|
||||||
*
|
|
||||||
* Since: 0.10.36
|
|
||||||
*/
|
|
||||||
#define GST_COLLECT_PADS2_STREAM_LOCK(pads) g_rec_mutex_lock(GST_COLLECT_PADS2_GET_STREAM_LOCK (pads))
|
|
||||||
/**
|
|
||||||
* GST_COLLECT_PADS2_STREAM_UNLOCK:
|
|
||||||
* @pads: a #GstCollectPads2
|
|
||||||
*
|
|
||||||
* Unlock the stream lock of @pads.
|
|
||||||
*
|
|
||||||
* Since: 0.10.36
|
|
||||||
*/
|
|
||||||
#define GST_COLLECT_PADS2_STREAM_UNLOCK(pads) g_rec_mutex_unlock(GST_COLLECT_PADS2_GET_STREAM_LOCK (pads))
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GstCollectPads2:
|
|
||||||
* @data: #GList of #GstCollectData2 managed by this #GstCollectPads2.
|
|
||||||
*
|
|
||||||
* Collectpads object.
|
|
||||||
*
|
|
||||||
* Since: 0.10.36
|
|
||||||
*/
|
|
||||||
struct _GstCollectPads2 {
|
|
||||||
GstObject object;
|
|
||||||
|
|
||||||
/*< public >*/ /* with LOCK and/or STREAM_LOCK */
|
|
||||||
GSList *data; /* list of CollectData items */
|
|
||||||
|
|
||||||
/*< private >*/
|
|
||||||
GRecMutex stream_lock; /* used to serialize collection among several streams */
|
|
||||||
|
|
||||||
GstCollectPads2Private *priv;
|
|
||||||
|
|
||||||
gpointer _gst_reserved[GST_PADDING];
|
|
||||||
};
|
|
||||||
|
|
||||||
struct _GstCollectPads2Class {
|
|
||||||
GstObjectClass parent_class;
|
|
||||||
|
|
||||||
/*< private >*/
|
|
||||||
gpointer _gst_reserved[GST_PADDING];
|
|
||||||
};
|
|
||||||
|
|
||||||
GType gst_collect_pads2_get_type(void);
|
|
||||||
|
|
||||||
/* creating the object */
|
|
||||||
GstCollectPads2* gst_collect_pads2_new (void);
|
|
||||||
|
|
||||||
/* set the callbacks */
|
|
||||||
void gst_collect_pads2_set_function (GstCollectPads2 *pads,
|
|
||||||
GstCollectPads2Function func,
|
|
||||||
gpointer user_data);
|
|
||||||
void gst_collect_pads2_set_buffer_function (GstCollectPads2 *pads,
|
|
||||||
GstCollectPads2BufferFunction func,
|
|
||||||
gpointer user_data);
|
|
||||||
void gst_collect_pads2_set_event_function (GstCollectPads2 *pads,
|
|
||||||
GstCollectPads2EventFunction func,
|
|
||||||
gpointer user_data);
|
|
||||||
void gst_collect_pads2_set_query_function (GstCollectPads2 *pads,
|
|
||||||
GstCollectPads2QueryFunction func,
|
|
||||||
gpointer user_data);
|
|
||||||
void gst_collect_pads2_set_compare_function (GstCollectPads2 *pads,
|
|
||||||
GstCollectPads2CompareFunction func,
|
|
||||||
gpointer user_data);
|
|
||||||
void gst_collect_pads2_set_clip_function (GstCollectPads2 *pads,
|
|
||||||
GstCollectPads2ClipFunction clipfunc,
|
|
||||||
gpointer user_data);
|
|
||||||
|
|
||||||
/* pad management */
|
|
||||||
GstCollectData2* gst_collect_pads2_add_pad (GstCollectPads2 *pads, GstPad *pad, guint size);
|
|
||||||
GstCollectData2* gst_collect_pads2_add_pad_full (GstCollectPads2 *pads, GstPad *pad, guint size,
|
|
||||||
GstCollectData2DestroyNotify destroy_notify,
|
|
||||||
gboolean lock);
|
|
||||||
gboolean gst_collect_pads2_remove_pad (GstCollectPads2 *pads, GstPad *pad);
|
|
||||||
gboolean gst_collect_pads2_is_active (GstCollectPads2 *pads, GstPad *pad);
|
|
||||||
|
|
||||||
/* start/stop collection */
|
|
||||||
GstFlowReturn gst_collect_pads2_collect (GstCollectPads2 *pads);
|
|
||||||
GstFlowReturn gst_collect_pads2_collect_range (GstCollectPads2 *pads, guint64 offset, guint length);
|
|
||||||
|
|
||||||
void gst_collect_pads2_start (GstCollectPads2 *pads);
|
|
||||||
void gst_collect_pads2_stop (GstCollectPads2 *pads);
|
|
||||||
void gst_collect_pads2_set_flushing (GstCollectPads2 *pads, gboolean flushing);
|
|
||||||
|
|
||||||
/* get collected buffers */
|
|
||||||
GstBuffer* gst_collect_pads2_peek (GstCollectPads2 *pads, GstCollectData2 *data);
|
|
||||||
GstBuffer* gst_collect_pads2_pop (GstCollectPads2 *pads, GstCollectData2 *data);
|
|
||||||
|
|
||||||
/* get collected bytes */
|
|
||||||
guint gst_collect_pads2_available (GstCollectPads2 *pads);
|
|
||||||
guint gst_collect_pads2_flush (GstCollectPads2 *pads, GstCollectData2 *data,
|
|
||||||
guint size);
|
|
||||||
GstBuffer* gst_collect_pads2_read_buffer (GstCollectPads2 * pads, GstCollectData2 * data,
|
|
||||||
guint size);
|
|
||||||
GstBuffer* gst_collect_pads2_take_buffer (GstCollectPads2 * pads, GstCollectData2 * data,
|
|
||||||
guint size);
|
|
||||||
|
|
||||||
/* setting and unsetting waiting mode */
|
|
||||||
void gst_collect_pads2_set_waiting (GstCollectPads2 *pads, GstCollectData2 *data,
|
|
||||||
gboolean waiting);
|
|
||||||
|
|
||||||
/* convenience helper */
|
|
||||||
GstFlowReturn gst_collect_pads2_clip_running_time (GstCollectPads2 * pads,
|
|
||||||
GstCollectData2 * cdata, GstBuffer * buf, GstBuffer ** outbuf,
|
|
||||||
gpointer user_data);
|
|
||||||
|
|
||||||
/* default handlers */
|
|
||||||
gboolean gst_collect_pads2_event_default (GstCollectPads2 * pads2, GstCollectData2 * data,
|
|
||||||
GstEvent * event, gboolean discard);
|
|
||||||
gboolean gst_collect_pads2_query_default (GstCollectPads2 * pads, GstCollectData2 * data,
|
|
||||||
GstQuery * query, gboolean discard);
|
|
||||||
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
#endif /* __GST_COLLECT_PADS22_H__ */
|
|
|
@ -144,7 +144,7 @@ check_PROGRAMS = \
|
||||||
# failing tests
|
# failing tests
|
||||||
noinst_PROGRAMS = \
|
noinst_PROGRAMS = \
|
||||||
gst/gstpipeline \
|
gst/gstpipeline \
|
||||||
libs/collectpads2
|
libs/collectpads
|
||||||
|
|
||||||
# elements to ignore for the state tests
|
# elements to ignore for the state tests
|
||||||
# STATE_IGNORE_ELEMENTS =
|
# STATE_IGNORE_ELEMENTS =
|
||||||
|
|
2
tests/check/libs/.gitignore
vendored
2
tests/check/libs/.gitignore
vendored
|
@ -6,7 +6,7 @@ bitreader
|
||||||
bytereader
|
bytereader
|
||||||
bytewriter
|
bytewriter
|
||||||
gdp
|
gdp
|
||||||
collectpads2
|
collectpads
|
||||||
controller
|
controller
|
||||||
gstlibscpp
|
gstlibscpp
|
||||||
gstnetclientclock
|
gstnetclientclock
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* collectpads.c - GstCollectPads2 testsuite
|
* collectpads.c - GstCollectPads testsuite
|
||||||
* Copyright (C) 2006 Alessandro Decina <alessandro@nnva.org>
|
* Copyright (C) 2006 Alessandro Decina <alessandro@nnva.org>
|
||||||
*
|
*
|
||||||
* Authors:
|
* Authors:
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <gst/check/gstcheck.h>
|
#include <gst/check/gstcheck.h>
|
||||||
#include <gst/base/gstcollectpads2.h>
|
#include <gst/base/gstcollectpads.h>
|
||||||
|
|
||||||
#define fail_unless_collected(expected) \
|
#define fail_unless_collected(expected) \
|
||||||
G_STMT_START { \
|
G_STMT_START { \
|
||||||
|
@ -36,11 +36,11 @@ G_STMT_START { \
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
char foo;
|
char foo;
|
||||||
} BadCollectData2;
|
} BadCollectData;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
GstCollectData2 data;
|
GstCollectData data;
|
||||||
GstPad *pad;
|
GstPad *pad;
|
||||||
GstBuffer *buffer;
|
GstBuffer *buffer;
|
||||||
GstEvent *event;
|
GstEvent *event;
|
||||||
|
@ -56,7 +56,7 @@ static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
|
||||||
GST_PAD_ALWAYS,
|
GST_PAD_ALWAYS,
|
||||||
GST_STATIC_CAPS_ANY);
|
GST_STATIC_CAPS_ANY);
|
||||||
|
|
||||||
static GstCollectPads2 *collect;
|
static GstCollectPads *collect;
|
||||||
static gboolean collected;
|
static gboolean collected;
|
||||||
static GstPad *srcpad1, *srcpad2;
|
static GstPad *srcpad1, *srcpad2;
|
||||||
static GstPad *sinkpad1, *sinkpad2;
|
static GstPad *sinkpad1, *sinkpad2;
|
||||||
|
@ -66,7 +66,7 @@ static GMutex *lock;
|
||||||
static GCond *cond;
|
static GCond *cond;
|
||||||
|
|
||||||
static GstFlowReturn
|
static GstFlowReturn
|
||||||
collected_cb (GstCollectPads2 * pads, gpointer user_data)
|
collected_cb (GstCollectPads * pads, gpointer user_data)
|
||||||
{
|
{
|
||||||
g_mutex_lock (lock);
|
g_mutex_lock (lock);
|
||||||
collected = TRUE;
|
collected = TRUE;
|
||||||
|
@ -100,8 +100,8 @@ push_event (gpointer user_data)
|
||||||
static void
|
static void
|
||||||
setup (void)
|
setup (void)
|
||||||
{
|
{
|
||||||
collect = gst_collect_pads2_new ();
|
collect = gst_collect_pads_new ();
|
||||||
gst_collect_pads2_set_function (collect, collected_cb, NULL);
|
gst_collect_pads_set_function (collect, collected_cb, NULL);
|
||||||
|
|
||||||
srcpad1 = gst_pad_new_from_static_template (&srctemplate, "src1");
|
srcpad1 = gst_pad_new_from_static_template (&srctemplate, "src1");
|
||||||
srcpad2 = gst_pad_new_from_static_template (&srctemplate, "src2");
|
srcpad2 = gst_pad_new_from_static_template (&srctemplate, "src2");
|
||||||
|
@ -134,15 +134,15 @@ teardown (void)
|
||||||
|
|
||||||
GST_START_TEST (test_pad_add_remove)
|
GST_START_TEST (test_pad_add_remove)
|
||||||
{
|
{
|
||||||
ASSERT_CRITICAL (gst_collect_pads2_add_pad (collect, sinkpad1,
|
ASSERT_CRITICAL (gst_collect_pads_add_pad (collect, sinkpad1,
|
||||||
sizeof (BadCollectData2)));
|
sizeof (BadCollectData)));
|
||||||
|
|
||||||
data1 = (TestData *) gst_collect_pads2_add_pad (collect,
|
data1 = (TestData *) gst_collect_pads_add_pad (collect,
|
||||||
sinkpad1, sizeof (TestData));
|
sinkpad1, sizeof (TestData));
|
||||||
fail_unless (data1 != NULL);
|
fail_unless (data1 != NULL);
|
||||||
|
|
||||||
fail_unless (gst_collect_pads2_remove_pad (collect, sinkpad2) == FALSE);
|
fail_unless (gst_collect_pads_remove_pad (collect, sinkpad2) == FALSE);
|
||||||
fail_unless (gst_collect_pads2_remove_pad (collect, sinkpad1) == TRUE);
|
fail_unless (gst_collect_pads_remove_pad (collect, sinkpad1) == TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
GST_END_TEST;
|
GST_END_TEST;
|
||||||
|
@ -152,11 +152,11 @@ GST_START_TEST (test_collect)
|
||||||
GstBuffer *buf1, *buf2, *tmp;
|
GstBuffer *buf1, *buf2, *tmp;
|
||||||
GThread *thread1, *thread2;
|
GThread *thread1, *thread2;
|
||||||
|
|
||||||
data1 = (TestData *) gst_collect_pads2_add_pad (collect,
|
data1 = (TestData *) gst_collect_pads_add_pad (collect,
|
||||||
sinkpad1, sizeof (TestData));
|
sinkpad1, sizeof (TestData));
|
||||||
fail_unless (data1 != NULL);
|
fail_unless (data1 != NULL);
|
||||||
|
|
||||||
data2 = (TestData *) gst_collect_pads2_add_pad (collect,
|
data2 = (TestData *) gst_collect_pads_add_pad (collect,
|
||||||
sinkpad2, sizeof (TestData));
|
sinkpad2, sizeof (TestData));
|
||||||
fail_unless (data2 != NULL);
|
fail_unless (data2 != NULL);
|
||||||
|
|
||||||
|
@ -164,7 +164,7 @@ GST_START_TEST (test_collect)
|
||||||
buf2 = gst_buffer_new ();
|
buf2 = gst_buffer_new ();
|
||||||
|
|
||||||
/* start collect pads */
|
/* start collect pads */
|
||||||
gst_collect_pads2_start (collect);
|
gst_collect_pads_start (collect);
|
||||||
|
|
||||||
/* push buffers on the pads */
|
/* push buffers on the pads */
|
||||||
data1->pad = srcpad1;
|
data1->pad = srcpad1;
|
||||||
|
@ -180,9 +180,9 @@ GST_START_TEST (test_collect)
|
||||||
/* now both pads have a buffer */
|
/* now both pads have a buffer */
|
||||||
fail_unless_collected (TRUE);
|
fail_unless_collected (TRUE);
|
||||||
|
|
||||||
tmp = gst_collect_pads2_pop (collect, (GstCollectData2 *) data1);
|
tmp = gst_collect_pads_pop (collect, (GstCollectData *) data1);
|
||||||
fail_unless (tmp == buf1);
|
fail_unless (tmp == buf1);
|
||||||
tmp = gst_collect_pads2_pop (collect, (GstCollectData2 *) data2);
|
tmp = gst_collect_pads_pop (collect, (GstCollectData *) data2);
|
||||||
fail_unless (tmp == buf2);
|
fail_unless (tmp == buf2);
|
||||||
|
|
||||||
/* these will return immediately as at this point the threads have been
|
/* these will return immediately as at this point the threads have been
|
||||||
|
@ -190,7 +190,7 @@ GST_START_TEST (test_collect)
|
||||||
g_thread_join (thread1);
|
g_thread_join (thread1);
|
||||||
g_thread_join (thread2);
|
g_thread_join (thread2);
|
||||||
|
|
||||||
gst_collect_pads2_stop (collect);
|
gst_collect_pads_stop (collect);
|
||||||
|
|
||||||
gst_buffer_unref (buf1);
|
gst_buffer_unref (buf1);
|
||||||
gst_buffer_unref (buf2);
|
gst_buffer_unref (buf2);
|
||||||
|
@ -203,18 +203,18 @@ GST_START_TEST (test_collect_eos)
|
||||||
GstBuffer *buf1, *tmp;
|
GstBuffer *buf1, *tmp;
|
||||||
GThread *thread1, *thread2;
|
GThread *thread1, *thread2;
|
||||||
|
|
||||||
data1 = (TestData *) gst_collect_pads2_add_pad (collect,
|
data1 = (TestData *) gst_collect_pads_add_pad (collect,
|
||||||
sinkpad1, sizeof (TestData));
|
sinkpad1, sizeof (TestData));
|
||||||
fail_unless (data1 != NULL);
|
fail_unless (data1 != NULL);
|
||||||
|
|
||||||
data2 = (TestData *) gst_collect_pads2_add_pad (collect,
|
data2 = (TestData *) gst_collect_pads_add_pad (collect,
|
||||||
sinkpad2, sizeof (TestData));
|
sinkpad2, sizeof (TestData));
|
||||||
fail_unless (data2 != NULL);
|
fail_unless (data2 != NULL);
|
||||||
|
|
||||||
buf1 = gst_buffer_new ();
|
buf1 = gst_buffer_new ();
|
||||||
|
|
||||||
/* start collect pads */
|
/* start collect pads */
|
||||||
gst_collect_pads2_start (collect);
|
gst_collect_pads_start (collect);
|
||||||
|
|
||||||
/* push a buffer on srcpad1 and EOS on srcpad2 */
|
/* push a buffer on srcpad1 and EOS on srcpad2 */
|
||||||
data1->pad = srcpad1;
|
data1->pad = srcpad1;
|
||||||
|
@ -229,10 +229,10 @@ GST_START_TEST (test_collect_eos)
|
||||||
/* now sinkpad1 has a buffer and sinkpad2 has EOS */
|
/* now sinkpad1 has a buffer and sinkpad2 has EOS */
|
||||||
fail_unless_collected (TRUE);
|
fail_unless_collected (TRUE);
|
||||||
|
|
||||||
tmp = gst_collect_pads2_pop (collect, (GstCollectData2 *) data1);
|
tmp = gst_collect_pads_pop (collect, (GstCollectData *) data1);
|
||||||
fail_unless (tmp == buf1);
|
fail_unless (tmp == buf1);
|
||||||
/* sinkpad2 has EOS so a NULL buffer is returned */
|
/* sinkpad2 has EOS so a NULL buffer is returned */
|
||||||
tmp = gst_collect_pads2_pop (collect, (GstCollectData2 *) data2);
|
tmp = gst_collect_pads_pop (collect, (GstCollectData *) data2);
|
||||||
fail_unless (tmp == NULL);
|
fail_unless (tmp == NULL);
|
||||||
|
|
||||||
/* these will return immediately as when the data is popped the threads are
|
/* these will return immediately as when the data is popped the threads are
|
||||||
|
@ -240,7 +240,7 @@ GST_START_TEST (test_collect_eos)
|
||||||
g_thread_join (thread1);
|
g_thread_join (thread1);
|
||||||
g_thread_join (thread2);
|
g_thread_join (thread2);
|
||||||
|
|
||||||
gst_collect_pads2_stop (collect);
|
gst_collect_pads_stop (collect);
|
||||||
|
|
||||||
gst_buffer_unref (buf1);
|
gst_buffer_unref (buf1);
|
||||||
}
|
}
|
||||||
|
@ -252,18 +252,18 @@ GST_START_TEST (test_collect_twice)
|
||||||
GstBuffer *buf1, *buf2, *tmp;
|
GstBuffer *buf1, *buf2, *tmp;
|
||||||
GThread *thread1, *thread2;
|
GThread *thread1, *thread2;
|
||||||
|
|
||||||
data1 = (TestData *) gst_collect_pads2_add_pad (collect,
|
data1 = (TestData *) gst_collect_pads_add_pad (collect,
|
||||||
sinkpad1, sizeof (TestData));
|
sinkpad1, sizeof (TestData));
|
||||||
fail_unless (data1 != NULL);
|
fail_unless (data1 != NULL);
|
||||||
|
|
||||||
data2 = (TestData *) gst_collect_pads2_add_pad (collect,
|
data2 = (TestData *) gst_collect_pads_add_pad (collect,
|
||||||
sinkpad2, sizeof (TestData));
|
sinkpad2, sizeof (TestData));
|
||||||
fail_unless (data2 != NULL);
|
fail_unless (data2 != NULL);
|
||||||
|
|
||||||
buf1 = gst_buffer_new ();
|
buf1 = gst_buffer_new ();
|
||||||
|
|
||||||
/* start collect pads */
|
/* start collect pads */
|
||||||
gst_collect_pads2_start (collect);
|
gst_collect_pads_start (collect);
|
||||||
|
|
||||||
/* queue a buffer */
|
/* queue a buffer */
|
||||||
data1->pad = srcpad1;
|
data1->pad = srcpad1;
|
||||||
|
@ -280,10 +280,10 @@ GST_START_TEST (test_collect_twice)
|
||||||
/* one of the pads has a buffer, the other has EOS */
|
/* one of the pads has a buffer, the other has EOS */
|
||||||
fail_unless_collected (TRUE);
|
fail_unless_collected (TRUE);
|
||||||
|
|
||||||
tmp = gst_collect_pads2_pop (collect, (GstCollectData2 *) data1);
|
tmp = gst_collect_pads_pop (collect, (GstCollectData *) data1);
|
||||||
fail_unless (tmp == buf1);
|
fail_unless (tmp == buf1);
|
||||||
/* there's nothing to pop from the one which received EOS */
|
/* there's nothing to pop from the one which received EOS */
|
||||||
tmp = gst_collect_pads2_pop (collect, (GstCollectData2 *) data2);
|
tmp = gst_collect_pads_pop (collect, (GstCollectData *) data2);
|
||||||
fail_unless (tmp == NULL);
|
fail_unless (tmp == NULL);
|
||||||
|
|
||||||
/* these will return immediately as at this point the threads have been
|
/* these will return immediately as at this point the threads have been
|
||||||
|
@ -291,13 +291,13 @@ GST_START_TEST (test_collect_twice)
|
||||||
g_thread_join (thread1);
|
g_thread_join (thread1);
|
||||||
g_thread_join (thread2);
|
g_thread_join (thread2);
|
||||||
|
|
||||||
gst_collect_pads2_stop (collect);
|
gst_collect_pads_stop (collect);
|
||||||
collected = FALSE;
|
collected = FALSE;
|
||||||
|
|
||||||
buf2 = gst_buffer_new ();
|
buf2 = gst_buffer_new ();
|
||||||
|
|
||||||
/* start collect pads */
|
/* start collect pads */
|
||||||
gst_collect_pads2_start (collect);
|
gst_collect_pads_start (collect);
|
||||||
|
|
||||||
/* push buffers on the pads */
|
/* push buffers on the pads */
|
||||||
data1->pad = srcpad1;
|
data1->pad = srcpad1;
|
||||||
|
@ -313,9 +313,9 @@ GST_START_TEST (test_collect_twice)
|
||||||
/* now both pads have a buffer */
|
/* now both pads have a buffer */
|
||||||
fail_unless_collected (TRUE);
|
fail_unless_collected (TRUE);
|
||||||
|
|
||||||
tmp = gst_collect_pads2_pop (collect, (GstCollectData2 *) data1);
|
tmp = gst_collect_pads_pop (collect, (GstCollectData *) data1);
|
||||||
fail_unless (tmp == buf1);
|
fail_unless (tmp == buf1);
|
||||||
tmp = gst_collect_pads2_pop (collect, (GstCollectData2 *) data2);
|
tmp = gst_collect_pads_pop (collect, (GstCollectData *) data2);
|
||||||
fail_unless (tmp == buf2);
|
fail_unless (tmp == buf2);
|
||||||
|
|
||||||
/* these will return immediately as at this point the threads have been
|
/* these will return immediately as at this point the threads have been
|
||||||
|
@ -323,7 +323,7 @@ GST_START_TEST (test_collect_twice)
|
||||||
g_thread_join (thread1);
|
g_thread_join (thread1);
|
||||||
g_thread_join (thread2);
|
g_thread_join (thread2);
|
||||||
|
|
||||||
gst_collect_pads2_stop (collect);
|
gst_collect_pads_stop (collect);
|
||||||
|
|
||||||
gst_buffer_unref (buf1);
|
gst_buffer_unref (buf1);
|
||||||
gst_buffer_unref (buf2);
|
gst_buffer_unref (buf2);
|
||||||
|
@ -333,12 +333,12 @@ GST_START_TEST (test_collect_twice)
|
||||||
GST_END_TEST;
|
GST_END_TEST;
|
||||||
|
|
||||||
static Suite *
|
static Suite *
|
||||||
gst_collect_pads2_suite (void)
|
gst_collect_pads_suite (void)
|
||||||
{
|
{
|
||||||
Suite *suite;
|
Suite *suite;
|
||||||
TCase *general;
|
TCase *general;
|
||||||
|
|
||||||
suite = suite_create ("GstCollectPads2");
|
suite = suite_create ("GstCollectPads");
|
||||||
general = tcase_create ("general");
|
general = tcase_create ("general");
|
||||||
suite_add_tcase (suite, general);
|
suite_add_tcase (suite, general);
|
||||||
tcase_add_checked_fixture (general, setup, teardown);
|
tcase_add_checked_fixture (general, setup, teardown);
|
||||||
|
@ -350,4 +350,4 @@ gst_collect_pads2_suite (void)
|
||||||
return suite;
|
return suite;
|
||||||
}
|
}
|
||||||
|
|
||||||
GST_CHECK_MAIN (gst_collect_pads2);
|
GST_CHECK_MAIN (gst_collect_pads);
|
|
@ -31,7 +31,7 @@
|
||||||
#include <gst/base/gstbitreader.h>
|
#include <gst/base/gstbitreader.h>
|
||||||
#include <gst/base/gstbytereader.h>
|
#include <gst/base/gstbytereader.h>
|
||||||
#include <gst/base/gstbytewriter.h>
|
#include <gst/base/gstbytewriter.h>
|
||||||
#include <gst/base/gstcollectpads2.h>
|
#include <gst/base/gstcollectpads.h>
|
||||||
#include <gst/base/gstpushsrc.h>
|
#include <gst/base/gstpushsrc.h>
|
||||||
#include <gst/base/gsttypefindhelper.h>
|
#include <gst/base/gsttypefindhelper.h>
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
#include <gst/base/gstbitreader.h>
|
#include <gst/base/gstbitreader.h>
|
||||||
#include <gst/base/gstbytereader.h>
|
#include <gst/base/gstbytereader.h>
|
||||||
#include <gst/base/gstbytewriter.h>
|
#include <gst/base/gstbytewriter.h>
|
||||||
#include <gst/base/gstcollectpads2.h>
|
#include <gst/base/gstcollectpads.h>
|
||||||
#include <gst/base/gstpushsrc.h>
|
#include <gst/base/gstpushsrc.h>
|
||||||
#include <gst/base/gsttypefindhelper.h>
|
#include <gst/base/gsttypefindhelper.h>
|
||||||
#include <gst/controller/gstcontroller.h>
|
#include <gst/controller/gstcontroller.h>
|
||||||
|
|
|
@ -209,33 +209,33 @@ EXPORTS
|
||||||
gst_byte_writer_reset
|
gst_byte_writer_reset
|
||||||
gst_byte_writer_reset_and_get_buffer
|
gst_byte_writer_reset_and_get_buffer
|
||||||
gst_byte_writer_reset_and_get_data
|
gst_byte_writer_reset_and_get_data
|
||||||
gst_collect_pads2_add_pad
|
gst_collect_pads_add_pad
|
||||||
gst_collect_pads2_add_pad_full
|
gst_collect_pads_add_pad_full
|
||||||
gst_collect_pads2_available
|
gst_collect_pads_available
|
||||||
gst_collect_pads2_clip_running_time
|
gst_collect_pads_clip_running_time
|
||||||
gst_collect_pads2_collect
|
gst_collect_pads_collect
|
||||||
gst_collect_pads2_collect_range
|
gst_collect_pads_collect_range
|
||||||
gst_collect_pads2_event_default
|
gst_collect_pads_event_default
|
||||||
gst_collect_pads2_flush
|
gst_collect_pads_flush
|
||||||
gst_collect_pads2_get_type
|
gst_collect_pads_get_type
|
||||||
gst_collect_pads2_is_active
|
gst_collect_pads_is_active
|
||||||
gst_collect_pads2_new
|
gst_collect_pads_new
|
||||||
gst_collect_pads2_peek
|
gst_collect_pads_peek
|
||||||
gst_collect_pads2_pop
|
gst_collect_pads_pop
|
||||||
gst_collect_pads2_query_default
|
gst_collect_pads_query_default
|
||||||
gst_collect_pads2_read_buffer
|
gst_collect_pads_read_buffer
|
||||||
gst_collect_pads2_remove_pad
|
gst_collect_pads_remove_pad
|
||||||
gst_collect_pads2_set_buffer_function
|
gst_collect_pads_set_buffer_function
|
||||||
gst_collect_pads2_set_clip_function
|
gst_collect_pads_set_clip_function
|
||||||
gst_collect_pads2_set_compare_function
|
gst_collect_pads_set_compare_function
|
||||||
gst_collect_pads2_set_event_function
|
gst_collect_pads_set_event_function
|
||||||
gst_collect_pads2_set_flushing
|
gst_collect_pads_set_flushing
|
||||||
gst_collect_pads2_set_function
|
gst_collect_pads_set_function
|
||||||
gst_collect_pads2_set_query_function
|
gst_collect_pads_set_query_function
|
||||||
gst_collect_pads2_set_waiting
|
gst_collect_pads_set_waiting
|
||||||
gst_collect_pads2_start
|
gst_collect_pads_start
|
||||||
gst_collect_pads2_stop
|
gst_collect_pads_stop
|
||||||
gst_collect_pads2_take_buffer
|
gst_collect_pads_take_buffer
|
||||||
gst_push_src_get_type
|
gst_push_src_get_type
|
||||||
gst_type_find_helper
|
gst_type_find_helper
|
||||||
gst_type_find_helper_for_buffer
|
gst_type_find_helper_for_buffer
|
||||||
|
|
|
@ -78,7 +78,7 @@
|
||||||
<ClCompile Include="..\..\..\libs\gst\base\gstbytereader.c" />
|
<ClCompile Include="..\..\..\libs\gst\base\gstbytereader.c" />
|
||||||
<ClCompile Include="..\..\..\libs\gst\base\gstbytewriter.c" />
|
<ClCompile Include="..\..\..\libs\gst\base\gstbytewriter.c" />
|
||||||
<ClCompile Include="..\..\..\libs\gst\base\gstcollectpads.c" />
|
<ClCompile Include="..\..\..\libs\gst\base\gstcollectpads.c" />
|
||||||
<ClCompile Include="..\..\..\libs\gst\base\gstcollectpads2.c" />
|
<ClCompile Include="..\..\..\libs\gst\base\gstcollectpads.c" />
|
||||||
<ClCompile Include="..\..\..\libs\gst\base\gstpushsrc.c" />
|
<ClCompile Include="..\..\..\libs\gst\base\gstpushsrc.c" />
|
||||||
<ClCompile Include="..\..\..\libs\gst\base\gsttypefindhelper.c" />
|
<ClCompile Include="..\..\..\libs\gst\base\gsttypefindhelper.c" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
@ -95,7 +95,7 @@
|
||||||
<ClInclude Include="..\..\..\libs\gst\base\gstbytewriter-docs.h" />
|
<ClInclude Include="..\..\..\libs\gst\base\gstbytewriter-docs.h" />
|
||||||
<ClInclude Include="..\..\..\libs\gst\base\gstbytewriter.h" />
|
<ClInclude Include="..\..\..\libs\gst\base\gstbytewriter.h" />
|
||||||
<ClInclude Include="..\..\..\libs\gst\base\gstcollectpads.h" />
|
<ClInclude Include="..\..\..\libs\gst\base\gstcollectpads.h" />
|
||||||
<ClInclude Include="..\..\..\libs\gst\base\gstcollectpads2.h" />
|
<ClInclude Include="..\..\..\libs\gst\base\gstcollectpads.h" />
|
||||||
<ClInclude Include="..\..\..\libs\gst\base\gstpushsrc.h" />
|
<ClInclude Include="..\..\..\libs\gst\base\gstpushsrc.h" />
|
||||||
<ClInclude Include="..\..\..\libs\gst\base\gsttypefindhelper.h" />
|
<ClInclude Include="..\..\..\libs\gst\base\gsttypefindhelper.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
<ClCompile Include="..\..\..\libs\gst\base\gstcollectpads.c">
|
<ClCompile Include="..\..\..\libs\gst\base\gstcollectpads.c">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\..\libs\gst\base\gstcollectpads2.c">
|
<ClCompile Include="..\..\..\libs\gst\base\gstcollectpads.c">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\..\libs\gst\base\gstpushsrc.c">
|
<ClCompile Include="..\..\..\libs\gst\base\gstpushsrc.c">
|
||||||
|
@ -89,7 +89,7 @@
|
||||||
<ClInclude Include="..\..\..\libs\gst\base\gstcollectpads.h">
|
<ClInclude Include="..\..\..\libs\gst\base\gstcollectpads.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\..\..\libs\gst\base\gstcollectpads2.h">
|
<ClInclude Include="..\..\..\libs\gst\base\gstcollectpads.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\..\..\libs\gst\base\gstpushsrc.h">
|
<ClInclude Include="..\..\..\libs\gst\base\gstpushsrc.h">
|
||||||
|
|
Loading…
Reference in a new issue