gst_interleave_check_channel_positions (GValueArray * positions)
{
gint i;
-
guint channels;
-
GstAudioChannelPosition *pos;
-
gboolean ret;
channels = positions->n_values;
gst_interleave_class_init (GstInterleaveClass * klass)
{
GstElementClass *gstelement_class;
-
GObjectClass *gobject_class;
gobject_class = G_OBJECT_CLASS (klass);
const gchar * req_name)
{
GstInterleave *self = GST_INTERLEAVE (element);
-
GstPad *new_pad;
-
gchar *pad_name;
-
gint channels, padnumber;
GValue val = { 0, };
/* Update the src caps if we already have them */
if (self->sinkcaps) {
GstCaps *srccaps;
-
GstStructure *s;
/* Take lock to make sure processing finishes first */
gst_interleave_release_pad (GstElement * element, GstPad * pad)
{
GstInterleave *self = GST_INTERLEAVE (element);
-
GList *l;
g_return_if_fail (GST_IS_INTERLEAVE_PAD (pad));
if (self->sinkcaps) {
if (self->channels > 0) {
GstCaps *srccaps;
-
GstStructure *s;
srccaps = gst_caps_copy (self->sinkcaps);
gst_interleave_change_state (GstElement * element, GstStateChange transition)
{
GstInterleave *self;
-
GstStateChangeReturn ret;
self = GST_INTERLEAVE (element);
__remove_channels (GstCaps * caps)
{
GstStructure *s;
-
gint i, size;
size = gst_caps_get_size (caps);
__set_channels (GstCaps * caps, gint channels)
{
GstStructure *s;
-
gint i, size;
size = gst_caps_get_size (caps);
gst_interleave_sink_getcaps (GstPad * pad)
{
GstInterleave *self = GST_INTERLEAVE (gst_pad_get_parent (pad));
-
GstCaps *result, *peercaps, *sinkcaps;
GST_OBJECT_LOCK (self);
goto cannot_change_caps;
} else {
GstCaps *srccaps;
-
GstStructure *s;
-
gboolean res;
s = gst_caps_get_structure (caps, 0);
if (!self->sinkcaps) {
GstCaps *sinkcaps = gst_caps_copy (caps);
-
GstStructure *s = gst_caps_get_structure (sinkcaps, 0);
gst_structure_remove_field (s, "channel-positions");
gst_interleave_sink_event (GstPad * pad, GstEvent * event)
{
GstInterleave *self = GST_INTERLEAVE (gst_pad_get_parent (pad));
-
gboolean ret;
GST_DEBUG ("Got %s event on pad %s:%s", GST_EVENT_TYPE_NAME (event),
gst_interleave_src_query_duration (GstInterleave * self, GstQuery * query)
{
gint64 max;
-
gboolean res;
-
GstFormat format;
-
GstIterator *it;
-
gboolean done;
/* parse format */
gst_interleave_src_query_latency (GstInterleave * self, GstQuery * query)
{
GstClockTime min, max;
-
gboolean live;
-
gboolean res;
-
GstIterator *it;
-
gboolean done;
res = TRUE;
it = gst_element_iterate_sink_pads (GST_ELEMENT_CAST (self));
while (!done) {
GstIteratorResult ires;
-
gpointer item;
ires = gst_iterator_next (it, &item);
case GST_ITERATOR_OK:
{
GstPad *pad = GST_PAD_CAST (item);
-
GstQuery *peerquery;
-
GstClockTime min_cur, max_cur;
-
gboolean live_cur;
peerquery = gst_query_new_latency ();
gst_interleave_src_query (GstPad * pad, GstQuery * query)
{
GstInterleave *self = GST_INTERLEAVE (gst_pad_get_parent (pad));
-
gboolean res = FALSE;
switch (GST_QUERY_TYPE (query)) {
gst_interleave_src_event (GstPad * pad, GstEvent * event)
{
GstInterleave *self = GST_INTERLEAVE (gst_pad_get_parent (pad));
-
gboolean result;
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_SEEK:
{
GstSeekFlags flags;
-
GstSeekType curtype;
-
gint64 cur;
/* parse the seek parameters */
for (collected = pads->data; collected != NULL; collected = collected->next) {
GstCollectData *cdata;
-
GstBuffer *inbuf;
-
guint8 *outdata;
cdata = (GstCollectData *) collected->data;