mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-25 01:30:38 +00:00
gst/rtpmanager/: Added custom marshallers for signals.
Original commit message from CVS: * gst/rtpmanager/.cvsignore: * gst/rtpmanager/Makefile.am: * gst/rtpmanager/gstrtpbin-marshal.list: Added custom marshallers for signals. * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_class_init): * gst/rtpmanager/gstrtpbin.h: Prepare for emiting pt map signals. * gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_class_init): * gst/rtpmanager/gstrtpssrcdemux.c: (gst_rtp_ssrc_demux_class_init): Fix signals.
This commit is contained in:
parent
a6aa41dc21
commit
8c67b5d7dd
7 changed files with 42 additions and 9 deletions
2
gst/rtpmanager/.gitignore
vendored
Normal file
2
gst/rtpmanager/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
gstrtpbin-marshal.h
|
||||||
|
gstrtpbin-marshal.c
|
|
@ -1,6 +1,15 @@
|
||||||
|
|
||||||
plugin_LTLIBRARIES = libgstrtpmanager.la
|
plugin_LTLIBRARIES = libgstrtpmanager.la
|
||||||
|
|
||||||
|
glib_enum_define = GST_RTP_BIN
|
||||||
|
glib_enum_prefix = gst_rtp_bin
|
||||||
|
|
||||||
|
include $(top_srcdir)/common/glib-gen.mak
|
||||||
|
|
||||||
|
built_sources = gstrtpbin-marshal.c
|
||||||
|
built_headers = gstrtpbin-marshal.h
|
||||||
|
|
||||||
|
BUILT_SOURCES = $(built_sources) $(built_headers)
|
||||||
|
|
||||||
libgstrtpmanager_la_SOURCES = gstrtpmanager.c \
|
libgstrtpmanager_la_SOURCES = gstrtpmanager.c \
|
||||||
gstrtpbin.c \
|
gstrtpbin.c \
|
||||||
gstrtpclient.c \
|
gstrtpclient.c \
|
||||||
|
@ -10,6 +19,9 @@ libgstrtpmanager_la_SOURCES = gstrtpmanager.c \
|
||||||
gstrtpssrcdemux.c \
|
gstrtpssrcdemux.c \
|
||||||
gstrtpsession.c
|
gstrtpsession.c
|
||||||
|
|
||||||
|
nodist_libgstrtpmanager_la_SOURCES = \
|
||||||
|
$(built_sources)
|
||||||
|
|
||||||
noinst_HEADERS = gstrtpbin.h \
|
noinst_HEADERS = gstrtpbin.h \
|
||||||
gstrtpclient.h \
|
gstrtpclient.h \
|
||||||
async_jitter_queue.h \
|
async_jitter_queue.h \
|
||||||
|
@ -22,5 +34,8 @@ libgstrtpmanager_la_CFLAGS = $(GST_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(ERROR_CF
|
||||||
libgstrtpmanager_la_LIBADD = $(GST_LIBS_LIBS)
|
libgstrtpmanager_la_LIBADD = $(GST_LIBS_LIBS)
|
||||||
libgstrtpmanager_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) -lgstrtp-@GST_MAJORMINOR@
|
libgstrtpmanager_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) -lgstrtp-@GST_MAJORMINOR@
|
||||||
|
|
||||||
EXTRA_DIST =
|
CLEANFILES = $(BUILT_SOURCES)
|
||||||
|
|
||||||
|
EXTRA_DIST = gstrtpbin-marshal.list
|
||||||
|
|
||||||
|
|
||||||
|
|
2
gst/rtpmanager/gstrtpbin-marshal.list
Normal file
2
gst/rtpmanager/gstrtpbin-marshal.list
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
BOXED:UINT
|
||||||
|
VOID:UINT,OBJECT
|
|
@ -41,6 +41,7 @@
|
||||||
#endif
|
#endif
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
#include "gstrtpbin-marshal.h"
|
||||||
#include "gstrtpbin.h"
|
#include "gstrtpbin.h"
|
||||||
|
|
||||||
GST_DEBUG_CATEGORY_STATIC (gst_rtp_bin_debug);
|
GST_DEBUG_CATEGORY_STATIC (gst_rtp_bin_debug);
|
||||||
|
@ -108,7 +109,7 @@ struct _GstRTPBinPrivate
|
||||||
/* signals and args */
|
/* signals and args */
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
/* FILL ME */
|
SIGNAL_REQUEST_PT_MAP,
|
||||||
LAST_SIGNAL
|
LAST_SIGNAL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -319,7 +320,7 @@ static GstPad *gst_rtp_bin_request_new_pad (GstElement * element,
|
||||||
GstPadTemplate * templ, const gchar * name);
|
GstPadTemplate * templ, const gchar * name);
|
||||||
static void gst_rtp_bin_release_pad (GstElement * element, GstPad * pad);
|
static void gst_rtp_bin_release_pad (GstElement * element, GstPad * pad);
|
||||||
|
|
||||||
/*static guint gst_rtp_bin_signals[LAST_SIGNAL] = { 0 }; */
|
static guint gst_rtp_bin_signals[LAST_SIGNAL] = { 0 };
|
||||||
|
|
||||||
GST_BOILERPLATE (GstRTPBin, gst_rtp_bin, GstBin, GST_TYPE_BIN);
|
GST_BOILERPLATE (GstRTPBin, gst_rtp_bin, GstBin, GST_TYPE_BIN);
|
||||||
|
|
||||||
|
@ -362,6 +363,12 @@ gst_rtp_bin_class_init (GstRTPBinClass * klass)
|
||||||
gobject_class->set_property = gst_rtp_bin_set_property;
|
gobject_class->set_property = gst_rtp_bin_set_property;
|
||||||
gobject_class->get_property = gst_rtp_bin_get_property;
|
gobject_class->get_property = gst_rtp_bin_get_property;
|
||||||
|
|
||||||
|
gst_rtp_bin_signals[SIGNAL_REQUEST_PT_MAP] =
|
||||||
|
g_signal_new ("request-pt-map", G_TYPE_FROM_CLASS (klass),
|
||||||
|
G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstRTPBinClass, request_pt_map),
|
||||||
|
NULL, NULL, gst_rtp_bin_marshal_BOXED__UINT, GST_TYPE_CAPS, 1,
|
||||||
|
G_TYPE_UINT);
|
||||||
|
|
||||||
gstelement_class->provide_clock =
|
gstelement_class->provide_clock =
|
||||||
GST_DEBUG_FUNCPTR (gst_rtp_bin_provide_clock);
|
GST_DEBUG_FUNCPTR (gst_rtp_bin_provide_clock);
|
||||||
gstelement_class->change_state = GST_DEBUG_FUNCPTR (gst_rtp_bin_change_state);
|
gstelement_class->change_state = GST_DEBUG_FUNCPTR (gst_rtp_bin_change_state);
|
||||||
|
|
|
@ -50,6 +50,9 @@ struct _GstRTPBin {
|
||||||
|
|
||||||
struct _GstRTPBinClass {
|
struct _GstRTPBinClass {
|
||||||
GstBinClass parent_class;
|
GstBinClass parent_class;
|
||||||
|
|
||||||
|
/* get the caps for pt */
|
||||||
|
GstCaps (*request_pt_map) (GstRTPBin *rtpbin, guint pt);
|
||||||
};
|
};
|
||||||
|
|
||||||
GType gst_rtp_bin_get_type (void);
|
GType gst_rtp_bin_get_type (void);
|
||||||
|
|
|
@ -48,9 +48,11 @@
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
#include "gstrtpptdemux.h"
|
|
||||||
#include <gst/rtp/gstrtpbuffer.h>
|
#include <gst/rtp/gstrtpbuffer.h>
|
||||||
|
|
||||||
|
#include "gstrtpbin-marshal.h"
|
||||||
|
#include "gstrtpptdemux.h"
|
||||||
|
|
||||||
/* generic templates */
|
/* generic templates */
|
||||||
static GstStaticPadTemplate rtp_pt_demux_sink_template =
|
static GstStaticPadTemplate rtp_pt_demux_sink_template =
|
||||||
GST_STATIC_PAD_TEMPLATE ("sink",
|
GST_STATIC_PAD_TEMPLATE ("sink",
|
||||||
|
@ -138,14 +140,14 @@ gst_rtp_pt_demux_class_init (GstRTPPtDemuxClass * klass)
|
||||||
G_SIGNAL_RUN_LAST,
|
G_SIGNAL_RUN_LAST,
|
||||||
G_STRUCT_OFFSET (GstRTPPtDemuxClass, new_payload_type),
|
G_STRUCT_OFFSET (GstRTPPtDemuxClass, new_payload_type),
|
||||||
NULL, NULL,
|
NULL, NULL,
|
||||||
g_cclosure_marshal_VOID__UINT_POINTER,
|
gst_rtp_bin_marshal_VOID__UINT_OBJECT,
|
||||||
G_TYPE_NONE, 2, G_TYPE_INT, GST_TYPE_PAD);
|
G_TYPE_NONE, 2, G_TYPE_INT, GST_TYPE_PAD);
|
||||||
gst_rtp_pt_demux_signals[SIGNAL_PAYLOAD_TYPE_CHANGE] =
|
gst_rtp_pt_demux_signals[SIGNAL_PAYLOAD_TYPE_CHANGE] =
|
||||||
g_signal_new ("payload-type-change",
|
g_signal_new ("payload-type-change",
|
||||||
G_TYPE_FROM_CLASS (klass),
|
G_TYPE_FROM_CLASS (klass),
|
||||||
G_SIGNAL_RUN_LAST,
|
G_SIGNAL_RUN_LAST,
|
||||||
G_STRUCT_OFFSET (GstRTPPtDemuxClass, payload_type_change),
|
G_STRUCT_OFFSET (GstRTPPtDemuxClass, payload_type_change),
|
||||||
NULL, NULL, gst_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT);
|
NULL, NULL, g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT);
|
||||||
|
|
||||||
gobject_klass->finalize = GST_DEBUG_FUNCPTR (gst_rtp_pt_demux_finalize);
|
gobject_klass->finalize = GST_DEBUG_FUNCPTR (gst_rtp_pt_demux_finalize);
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <gst/rtp/gstrtpbuffer.h>
|
#include <gst/rtp/gstrtpbuffer.h>
|
||||||
|
|
||||||
|
#include "gstrtpbin-marshal.h"
|
||||||
#include "gstrtpssrcdemux.h"
|
#include "gstrtpssrcdemux.h"
|
||||||
|
|
||||||
GST_DEBUG_CATEGORY_STATIC (gst_rtp_ssrc_demux_debug);
|
GST_DEBUG_CATEGORY_STATIC (gst_rtp_ssrc_demux_debug);
|
||||||
|
@ -87,6 +88,7 @@ struct _GstRTPSsrcDemuxPad
|
||||||
{
|
{
|
||||||
GstPad *pad;
|
GstPad *pad;
|
||||||
guint32 ssrc;
|
guint32 ssrc;
|
||||||
|
GstCaps *caps;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* find a src pad for a given SSRC, returns NULL if the SSRC was not found
|
/* find a src pad for a given SSRC, returns NULL if the SSRC was not found
|
||||||
|
@ -167,8 +169,8 @@ gst_rtp_ssrc_demux_class_init (GstRTPSsrcDemuxClass * klass)
|
||||||
g_signal_new ("new-ssrc-pad",
|
g_signal_new ("new-ssrc-pad",
|
||||||
G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
|
G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
|
||||||
G_STRUCT_OFFSET (GstRTPSsrcDemuxClass, new_ssrc_pad),
|
G_STRUCT_OFFSET (GstRTPSsrcDemuxClass, new_ssrc_pad),
|
||||||
NULL, NULL, g_cclosure_marshal_VOID__UINT_POINTER,
|
NULL, NULL, gst_rtp_bin_marshal_VOID__UINT_OBJECT,
|
||||||
G_TYPE_NONE, 2, G_TYPE_INT, GST_TYPE_PAD);
|
G_TYPE_NONE, 2, G_TYPE_UINT, GST_TYPE_PAD);
|
||||||
|
|
||||||
gstelement_klass->change_state =
|
gstelement_klass->change_state =
|
||||||
GST_DEBUG_FUNCPTR (gst_rtp_ssrc_demux_change_state);
|
GST_DEBUG_FUNCPTR (gst_rtp_ssrc_demux_change_state);
|
||||||
|
|
Loading…
Reference in a new issue