• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* GStreamer Wavpack plugin
2  * Copyright (c) 2004 Arwed v. Merkatz <v.merkatz@gmx.net>
3  * Copyright (c) 2006 Sebastian Dröge <slomo@circular-chaos.org>
4  *
5  * gstwavpackdec.h: raw Wavpack bitstream decoder
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Library General Public
9  * License as published by the Free Software Foundation; either
10  * version 2 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Library General Public License for more details.
16  *
17  * You should have received a copy of the GNU Library General Public
18  * License along with this library; if not, write to the
19  * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
20  * Boston, MA 02110-1301, USA.
21  */
22 
23 #ifndef __GST_WAVPACK_DEC_H__
24 #define __GST_WAVPACK_DEC_H__
25 
26 #include <gst/gst.h>
27 #include <gst/audio/gstaudiodecoder.h>
28 
29 #include <wavpack/wavpack.h>
30 
31 #include "gstwavpackstreamreader.h"
32 
33 G_BEGIN_DECLS
34 
35 #define GST_TYPE_WAVPACK_DEC (gst_wavpack_dec_get_type())
36 G_DECLARE_FINAL_TYPE (GstWavpackDec, gst_wavpack_dec, GST, WAVPACK_DEC,
37     GstAudioDecoder)
38 
39 struct _GstWavpackDec
40 {
41   GstAudioDecoder element;
42 
43   /*< private > */
44 
45   WavpackContext *context;
46   WavpackStreamReader *stream_reader;
47 
48   read_id wv_id;
49 
50   gint sample_rate;
51   gint depth;
52   gint width;
53   gint channels;
54   gint channel_mask;
55   gboolean mode_float;
56 
57   gint channel_reorder_map[64];
58 
59 };
60 
61 gboolean gst_wavpack_dec_plugin_init (GstPlugin * plugin);
62 
63 G_END_DECLS
64 #endif /* __GST_WAVPACK_DEC_H__ */
65