gst_plugins_symbian/gst/devsound/gstdevsoundsink.h
changeset 7 71e347f905f2
parent 0 0e761a78d257
child 30 7e817e7e631c
equal deleted inserted replaced
2:5505e8908944 7:71e347f905f2
    26 */
    26 */
    27 
    27 
    28 #ifndef __GST_DEVSOUNDSINK_H__
    28 #ifndef __GST_DEVSOUNDSINK_H__
    29 #define __GST_DEVSOUNDSINK_H__
    29 #define __GST_DEVSOUNDSINK_H__
    30 
    30 
    31 
       
    32 #include <gst/gst.h>
    31 #include <gst/gst.h>
    33 #include <gst/base/gstbasesink.h>
    32 #include <gst/base/gstbasesink.h>
    34 
    33 
    35 
    34 
    36 G_BEGIN_DECLS
    35 G_BEGIN_DECLS
    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