10a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann/* 20a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann * 30a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann * BlueZ - Bluetooth protocol stack for Linux 40a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann * 59184e2eeb7b97371c6b83b747c8984e2340d2b47Marcel Holtmann * Copyright (C) 2004-2010 Marcel Holtmann <marcel@holtmann.org> 60a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann * 70a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann * 80a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann * This library is free software; you can redistribute it and/or 90a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann * modify it under the terms of the GNU Lesser General Public 100a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann * License as published by the Free Software Foundation; either 110a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann * version 2.1 of the License, or (at your option) any later version. 120a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann * 130a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann * This library is distributed in the hope that it will be useful, 140a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann * but WITHOUT ANY WARRANTY; without even the implied warranty of 150a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 160a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann * Lesser General Public License for more details. 170a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann * 180a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann * You should have received a copy of the GNU Lesser General Public 190a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann * License along with this library; if not, write to the Free Software 200a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 210a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann * 220a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann */ 230a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann 240a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann#include <gst/gst.h> 2596d6078ada20a76f885ea04893aac5f0ca5fe48dLuiz Augusto von Dentz#include <gst/base/gstadapter.h> 260a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann 27d542fb37a81d1d96604d41b36a6d6b11087ba2daMarcel Holtmann#include "sbc.h" 28d542fb37a81d1d96604d41b36a6d6b11087ba2daMarcel Holtmann 290a527f667ae62ac335f22d1d053179b20ff26e94Marcel HoltmannG_BEGIN_DECLS 300a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann 310a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann#define GST_TYPE_SBC_ENC \ 320a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann (gst_sbc_enc_get_type()) 330a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann#define GST_SBC_ENC(obj) \ 340a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_SBC_ENC,GstSbcEnc)) 350a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann#define GST_SBC_ENC_CLASS(klass) \ 360a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_SBC_ENC,GstSbcEncClass)) 370a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann#define GST_IS_SBC_ENC(obj) \ 380a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_SBC_ENC)) 390a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann#define GST_IS_SBC_ENC_CLASS(obj) \ 400a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_SBC_ENC)) 410a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann 420a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmanntypedef struct _GstSbcEnc GstSbcEnc; 430a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmanntypedef struct _GstSbcEncClass GstSbcEncClass; 440a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann 450a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmannstruct _GstSbcEnc { 460a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann GstElement element; 470a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann 480a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann GstPad *sinkpad; 490a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann GstPad *srcpad; 5096d6078ada20a76f885ea04893aac5f0ca5fe48dLuiz Augusto von Dentz GstAdapter *adapter; 51d542fb37a81d1d96604d41b36a6d6b11087ba2daMarcel Holtmann 52d4e24bf6a3d8af6479abce92fbbf1869a59669aaLuiz Augusto von Dentz gint rate; 53d4e24bf6a3d8af6479abce92fbbf1869a59669aaLuiz Augusto von Dentz gint channels; 540551d4b78641ad4cc286d3e69c3268a27f5e9647Marcel Holtmann gint mode; 555dee78747cac71ad970b513dc229712be1348290Luiz Augusto von Dentz gint blocks; 565dee78747cac71ad970b513dc229712be1348290Luiz Augusto von Dentz gint allocation; 575dee78747cac71ad970b513dc229712be1348290Luiz Augusto von Dentz gint subbands; 58ae689c59cc62acc9f160afe6beb6ccc07b6c6f55Luiz Augusto von Dentz gint bitpool; 59ae689c59cc62acc9f160afe6beb6ccc07b6c6f55Luiz Augusto von Dentz 600260a8613bd992b596dfa0f2b69ecfbba33c9bcaMarcel Holtmann guint codesize; 61d509d4960ff6fb74bf86bf2791067197d3795440Luiz Augusto von Dentz gint frame_length; 62d509d4960ff6fb74bf86bf2791067197d3795440Luiz Augusto von Dentz gint frame_duration; 630551d4b78641ad4cc286d3e69c3268a27f5e9647Marcel Holtmann 64d542fb37a81d1d96604d41b36a6d6b11087ba2daMarcel Holtmann sbc_t sbc; 650a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann}; 660a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann 670a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmannstruct _GstSbcEncClass { 680a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann GstElementClass parent_class; 690a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann}; 700a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann 71cc04c6a2f7500f3d29d56634e645130ff3bd80fbMarcel HoltmannGType gst_sbc_enc_get_type(void); 720a527f667ae62ac335f22d1d053179b20ff26e94Marcel Holtmann 73a0af7ee44534dad8f35a4142c6a22177e54ffc57Luiz Augusto von Dentzgboolean gst_sbc_enc_plugin_init(GstPlugin *plugin); 74a0af7ee44534dad8f35a4142c6a22177e54ffc57Luiz Augusto von Dentz 750a527f667ae62ac335f22d1d053179b20ff26e94Marcel HoltmannG_END_DECLS 76