+2007-04-10 Wim Taymans <wim@fluendo.com>
+
+ * 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.
+
2007-04-06 Wim Taymans <wim@fluendo.com>
* gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_class_init),
-Subproject commit 57d4a1587556bd42c850601773c662211694c5a6
+Subproject commit 9097e252e477e18182f08a032d8860bdee9a0416
--- /dev/null
+gstrtpbin-marshal.h
+gstrtpbin-marshal.c
-
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 \
gstrtpbin.c \
gstrtpclient.c \
gstrtpssrcdemux.c \
gstrtpsession.c
+nodist_libgstrtpmanager_la_SOURCES = \
+ $(built_sources)
+
noinst_HEADERS = gstrtpbin.h \
gstrtpclient.h \
async_jitter_queue.h \
libgstrtpmanager_la_LIBADD = $(GST_LIBS_LIBS)
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
+
--- /dev/null
+BOXED:UINT
+VOID:UINT,OBJECT
#endif
#include <string.h>
+#include "gstrtpbin-marshal.h"
#include "gstrtpbin.h"
GST_DEBUG_CATEGORY_STATIC (gst_rtp_bin_debug);
/* signals and args */
enum
{
- /* FILL ME */
+ SIGNAL_REQUEST_PT_MAP,
LAST_SIGNAL
};
GstPadTemplate * templ, const gchar * name);
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);
gobject_class->set_property = gst_rtp_bin_set_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 =
GST_DEBUG_FUNCPTR (gst_rtp_bin_provide_clock);
gstelement_class->change_state = GST_DEBUG_FUNCPTR (gst_rtp_bin_change_state);
struct _GstRTPBinClass {
GstBinClass parent_class;
+
+ /* get the caps for pt */
+ GstCaps (*request_pt_map) (GstRTPBin *rtpbin, guint pt);
};
GType gst_rtp_bin_get_type (void);
#include <string.h>
#include <gst/gst.h>
-#include "gstrtpptdemux.h"
#include <gst/rtp/gstrtpbuffer.h>
+#include "gstrtpbin-marshal.h"
+#include "gstrtpptdemux.h"
+
/* generic templates */
static GstStaticPadTemplate rtp_pt_demux_sink_template =
GST_STATIC_PAD_TEMPLATE ("sink",
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GstRTPPtDemuxClass, new_payload_type),
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);
gst_rtp_pt_demux_signals[SIGNAL_PAYLOAD_TYPE_CHANGE] =
g_signal_new ("payload-type-change",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST,
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);
#include <string.h>
#include <gst/rtp/gstrtpbuffer.h>
+#include "gstrtpbin-marshal.h"
#include "gstrtpssrcdemux.h"
GST_DEBUG_CATEGORY_STATIC (gst_rtp_ssrc_demux_debug);
{
GstPad *pad;
guint32 ssrc;
+ GstCaps *caps;
};
/* find a src pad for a given SSRC, returns NULL if the SSRC was not found
g_signal_new ("new-ssrc-pad",
G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GstRTPSsrcDemuxClass, new_ssrc_pad),
- NULL, NULL, g_cclosure_marshal_VOID__UINT_POINTER,
- G_TYPE_NONE, 2, G_TYPE_INT, GST_TYPE_PAD);
+ NULL, NULL, gst_rtp_bin_marshal_VOID__UINT_OBJECT,
+ G_TYPE_NONE, 2, G_TYPE_UINT, GST_TYPE_PAD);
gstelement_klass->change_state =
GST_DEBUG_FUNCPTR (gst_rtp_ssrc_demux_change_state);