bluez: Make a2dpsink to act like a bin and split the payloader.

This commit is contained in:
Luiz Augusto von Dentz 2008-01-23 13:14:02 +00:00 committed by Tim-Philipp Müller
parent 62b90c78e5
commit b0e7feba1e
2 changed files with 301 additions and 875 deletions

File diff suppressed because it is too large Load diff

View file

@ -22,7 +22,8 @@
*/ */
#include <gst/gst.h> #include <gst/gst.h>
#include <gst/base/gstbasesink.h> #include <gst/rtp/gstbasertppayload.h>
#include "gsta2dpsendersink.h"
G_BEGIN_DECLS G_BEGIN_DECLS
@ -40,31 +41,27 @@ G_BEGIN_DECLS
typedef struct _GstA2dpSink GstA2dpSink; typedef struct _GstA2dpSink GstA2dpSink;
typedef struct _GstA2dpSinkClass GstA2dpSinkClass; typedef struct _GstA2dpSinkClass GstA2dpSinkClass;
struct bluetooth_data;
struct _GstA2dpSink { struct _GstA2dpSink {
GstBaseSink sink; GstBin bin;
GstBaseRTPPayload *rtp;
GstA2dpSenderSink *sink;
GstElement *capsfilter;
gchar *device; gchar *device;
GIOChannel *stream;
struct bluetooth_data *data; GstGhostPad *ghostpad;
GIOChannel *server; GstPadSetCapsFunction ghostpad_setcapsfunc;
GstPadEventFunction ghostpad_eventfunc;
/* stream connection data */ GstEvent *newseg_event;
GstCaps *stream_caps;
GstCaps *dev_caps;
GMutex *sink_lock;
guint watch_id;
}; };
struct _GstA2dpSinkClass { struct _GstA2dpSinkClass {
GstBaseSinkClass parent_class; GstBinClass parent_class;
}; };
GType gst_a2dp_sink_get_type(void); GType gst_a2dp_sink_get_type(void);
gboolean gst_a2dp_sink_plugin_init (GstPlugin * plugin);
G_END_DECLS G_END_DECLS