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