gst_plugins_symbian/gst/devsound/gstdevsoundsink.h
branchRCL_3
changeset 8 7e817e7e631c
parent 7 567bb019e3e3
equal deleted inserted replaced
7:567bb019e3e3 8:7e817e7e631c
    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 
    31 #include <gst/gst.h>
    32 #include <gst/gst.h>
    32 #include <gst/base/gstbasesink.h>
    33 #include <gst/base/gstbasesink.h>
    33 
    34 
    34 
    35 
    35 G_BEGIN_DECLS
    36 G_BEGIN_DECLS
    38 #define GST_DEVSOUND_SINK(obj)          (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DEVSOUND_SINK,GstDevsoundSink))
    39 #define GST_DEVSOUND_SINK(obj)          (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DEVSOUND_SINK,GstDevsoundSink))
    39 #define GST_DEVSOUND_SINK_CLASS(klass)  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DEVSOUND_SINK,GstDevsoundSinkClass))
    40 #define GST_DEVSOUND_SINK_CLASS(klass)  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DEVSOUND_SINK,GstDevsoundSinkClass))
    40 #define GST_IS_DEVSOUND_SINK(obj)       (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DEVSOUND_SINK))
    41 #define GST_IS_DEVSOUND_SINK(obj)       (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DEVSOUND_SINK))
    41 #define GST_IS_DEVSOUND_SINK_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DEVSOUND_SINK))
    42 #define GST_IS_DEVSOUND_SINK_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DEVSOUND_SINK))
    42 
    43 
    43 //#define AV_SYNC
    44 
    44 
    45 
    45 typedef struct _GstDevsoundSink GstDevsoundSink;
    46 typedef struct _GstDevsoundSink GstDevsoundSink;
    46 typedef struct _GstDevsoundSinkClass GstDevsoundSinkClass;
    47 typedef struct _GstDevsoundSinkClass GstDevsoundSinkClass;
    47 
    48 
    48 typedef struct _GstDevsoundUpdate GstDevsoundUpdate;
    49 typedef struct _GstDevsoundUpdate GstDevsoundUpdate;
    49 
    50 
    50 struct _GstDevsoundUpdate{
    51 struct _GstDevsoundUpdate{
    51     gboolean  channelsupdate;
    52 gboolean  channelsupdate;
    52     gboolean  rateupdate;
    53 gboolean  rateupdate;
    53     gboolean  volumeupdate;
    54 gboolean  volumeupdate;
    54     gboolean  volumerampupdate;
    55 gboolean  volumerampupdate;
    55     gboolean  leftbalanceupdate;
    56 gboolean  leftbalanceupdate;
    56     gboolean  rightbalanceupdate;
    57 gboolean  rightbalanceupdate;
    57     gboolean  preferenceupdate;
    58 gboolean  preferenceupdate;
    58     gboolean  priorityupdate;
    59 gboolean  priorityupdate;
    59     gboolean  fourccupdate;
    60 gboolean  fourccupdate;
    60     gboolean  outputupdate;
    61 gboolean  outputupdate;
    61 };
    62 };
    62 
    63 
    63 struct _GstDevsoundSink {
    64 struct _GstDevsoundSink {
    64     GstBaseSink    sink;	
    65   GstBaseSink    sink;	
       
    66   
       
    67   void *handle;	
       
    68   void *dataptr;
       
    69   gchar *device;
       
    70   gint   bytes_per_sample;
       
    71   GstCaps *probed_caps;
    65 
    72 
    66     void *handle;	
    73   GstDevsoundUpdate pending;
    67     void *dataptr;
       
    68     gchar *device;
       
    69     gint   bytes_per_sample;
       
    70     GstCaps *probed_caps;
       
    71 
    74 
    72     GstDevsoundUpdate pending;
    75   //properties
    73 
    76   gint   channels;
    74     //properties
    77   gint   rate;
    75     gint   channels;
    78   gint   volume;
    76     gint   rate;
    79   gint   volumeramp;
    77     gint   volume;
    80   gint   maxvolume;
    78     gint   volumeramp;
    81   gint   leftbalance;
    79     gint   maxvolume;
    82   gint   rightbalance;
    80     gint   leftbalance;
    83   gint   priority;
    81     gint   rightbalance;
    84   gint   preference;
    82     gint   priority;
    85   gint   samplesplayed;
    83     gint   preference;
    86   gint   output;
    84     gint   output;
    87   gulong fourcc;
    85     gulong fourcc;
    88   gchar  *mimetype;
    86     gchar  *mimetype;
    89   GList   *fmt;
    87     GList   *fmt;
    90   gboolean framemodereq;
    88 
    91   gboolean g711cng;
    89     gboolean eosreceived;
    92   gboolean ilbccng;  
    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*/
       
    96 };
    93 };
    97 
    94 
    98 struct _GstDevsoundSinkClass {
    95 struct _GstDevsoundSinkClass {
    99     GstBaseSinkClass parent_class;
    96   GstBaseSinkClass parent_class;
   100 };
    97 };
   101 
    98 
   102 GType gst_devsound_sink_get_type(void);
    99 GType gst_devsound_sink_get_type(void);
   103 
   100 
   104 G_END_DECLS
   101 G_END_DECLS
   105 
   102 
   106 #endif /* __GST_DEVSOUNDSINK_H__ */
   103 #endif /* __GST_DEVSOUNDSINK_H__ */
   107