39 #define GST_DEVSOUND_SINK(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DEVSOUND_SINK,GstDevsoundSink)) |
38 #define GST_DEVSOUND_SINK(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DEVSOUND_SINK,GstDevsoundSink)) |
40 #define GST_DEVSOUND_SINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DEVSOUND_SINK,GstDevsoundSinkClass)) |
39 #define GST_DEVSOUND_SINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DEVSOUND_SINK,GstDevsoundSinkClass)) |
41 #define GST_IS_DEVSOUND_SINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DEVSOUND_SINK)) |
40 #define GST_IS_DEVSOUND_SINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DEVSOUND_SINK)) |
42 #define GST_IS_DEVSOUND_SINK_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DEVSOUND_SINK)) |
41 #define GST_IS_DEVSOUND_SINK_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DEVSOUND_SINK)) |
43 |
42 |
44 |
43 //#define AV_SYNC |
45 |
44 |
46 typedef struct _GstDevsoundSink GstDevsoundSink; |
45 typedef struct _GstDevsoundSink GstDevsoundSink; |
47 typedef struct _GstDevsoundSinkClass GstDevsoundSinkClass; |
46 typedef struct _GstDevsoundSinkClass GstDevsoundSinkClass; |
48 |
47 |
49 typedef struct _GstDevsoundUpdate GstDevsoundUpdate; |
48 typedef struct _GstDevsoundUpdate GstDevsoundUpdate; |
50 |
49 |
51 struct _GstDevsoundUpdate{ |
50 struct _GstDevsoundUpdate{ |
52 gboolean channelsupdate; |
51 gboolean channelsupdate; |
53 gboolean rateupdate; |
52 gboolean rateupdate; |
54 gboolean volumeupdate; |
53 gboolean volumeupdate; |
55 gboolean volumerampupdate; |
54 gboolean volumerampupdate; |
56 gboolean leftbalanceupdate; |
55 gboolean leftbalanceupdate; |
57 gboolean rightbalanceupdate; |
56 gboolean rightbalanceupdate; |
58 gboolean preferenceupdate; |
57 gboolean preferenceupdate; |
59 gboolean priorityupdate; |
58 gboolean priorityupdate; |
60 gboolean fourccupdate; |
59 gboolean fourccupdate; |
61 gboolean outputupdate; |
60 gboolean outputupdate; |
62 }; |
61 }; |
63 |
62 |
64 struct _GstDevsoundSink { |
63 struct _GstDevsoundSink { |
65 GstBaseSink sink; |
64 GstBaseSink sink; |
66 |
|
67 void *handle; |
|
68 void *dataptr; |
|
69 gchar *device; |
|
70 gint bytes_per_sample; |
|
71 GstCaps *probed_caps; |
|
72 |
65 |
73 GstDevsoundUpdate pending; |
66 void *handle; |
|
67 void *dataptr; |
|
68 gchar *device; |
|
69 gint bytes_per_sample; |
|
70 GstCaps *probed_caps; |
74 |
71 |
75 //properties |
72 GstDevsoundUpdate pending; |
76 gint channels; |
73 |
77 gint rate; |
74 //properties |
78 gint volume; |
75 gint channels; |
79 gint volumeramp; |
76 gint rate; |
80 gint maxvolume; |
77 gint volume; |
81 gint leftbalance; |
78 gint volumeramp; |
82 gint rightbalance; |
79 gint maxvolume; |
83 gint priority; |
80 gint leftbalance; |
84 gint preference; |
81 gint rightbalance; |
85 gint samplesplayed; |
82 gint priority; |
86 gint output; |
83 gint preference; |
87 gulong fourcc; |
84 gint output; |
88 gchar *mimetype; |
85 gulong fourcc; |
89 GList *fmt; |
86 gchar *mimetype; |
90 gboolean framemodereq; |
87 GList *fmt; |
91 gboolean g711cng; |
88 |
92 gboolean ilbccng; |
89 gboolean eosreceived; |
|
90 |
|
91 #ifdef AV_SYNC |
|
92 gboolean timeplayedavailable; |
|
93 gulong time_or_samples_played; |
|
94 GstClock *clock; /* The clock for this element. */ |
|
95 #endif /*AV_SYNC*/ |
93 }; |
96 }; |
94 |
97 |
95 struct _GstDevsoundSinkClass { |
98 struct _GstDevsoundSinkClass { |
96 GstBaseSinkClass parent_class; |
99 GstBaseSinkClass parent_class; |
97 }; |
100 }; |
98 |
101 |
99 GType gst_devsound_sink_get_type(void); |
102 GType gst_devsound_sink_get_type(void); |
100 |
103 |
101 G_END_DECLS |
104 G_END_DECLS |
102 |
105 |
103 #endif /* __GST_DEVSOUNDSINK_H__ */ |
106 #endif /* __GST_DEVSOUNDSINK_H__ */ |
|
107 |