gst_plugins_base/ext/cdparanoia/gstcdparanoiasrc.h
branchRCL_3
changeset 30 7e817e7e631c
parent 0 0e761a78d257
equal deleted inserted replaced
29:567bb019e3e3 30:7e817e7e631c
       
     1 /* GStreamer
       
     2  * Copyright (C) 1999 Erik Walthinsen <omega@cse.ogi.edu>
       
     3  *
       
     4  * This library is free software; you can redistribute it and/or
       
     5  * modify it under the terms of the GNU Library General Public
       
     6  * License as published by the Free Software Foundation; either
       
     7  * version 2 of the License, or (at your option) any later version.
       
     8  *
       
     9  * This library is distributed in the hope that it will be useful,
       
    10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
       
    12  * Library General Public License for more details.
       
    13  *
       
    14  * You should have received a copy of the GNU Library General Public
       
    15  * License along with this library; if not, write to the
       
    16  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
       
    17  * Boston, MA 02111-1307, USA.
       
    18  */
       
    19 
       
    20 #ifndef __GST_CD_PARANOIA_SRC_H__
       
    21 #define __GST_CD_PARANOIA_SRC_H__
       
    22 
       
    23 #include "gst/cdda/gstcddabasesrc.h"
       
    24 
       
    25 G_BEGIN_DECLS
       
    26 
       
    27 #define size16 gint16
       
    28 #define size32 gint32
       
    29 
       
    30 #ifdef CDPARANOIA_HEADERS_IN_DIR
       
    31   #include <cdda/cdda_interface.h>
       
    32   #include <cdda/cdda_paranoia.h>
       
    33 #else
       
    34   #include <cdda_interface.h>
       
    35   #include <cdda_paranoia.h>
       
    36 #endif
       
    37 
       
    38 #define GST_TYPE_CD_PARANOIA_SRC            (gst_cd_paranoia_src_get_type())
       
    39 #define GST_CD_PARANOIA_SRC(obj)            (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_CD_PARANOIA_SRC,GstCdParanoiaSrc))
       
    40 #define GST_CD_PARANOIA_SRC_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_CD_PARANOIA_SRC,GstCdParanoiaSrcClass))
       
    41 #define GST_IS_CD_PARANOIA_SRC(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_CD_PARANOIA_SRC))
       
    42 #define GST_IS_CD_PARANOIA_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_CD_PARANOIA_SRC))
       
    43 #define GST_CD_PARANOIA_SRC_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_CDDA_BASAE_SRC, GstCdParanoiaSrcClass))
       
    44 
       
    45 typedef struct _GstCdParanoiaSrc GstCdParanoiaSrc;
       
    46 typedef struct _GstCdParanoiaSrcClass GstCdParanoiaSrcClass;
       
    47 
       
    48 /**
       
    49  * GstCdParanoiaSrc:
       
    50  *
       
    51  * The cdparanoia object structure.
       
    52  */
       
    53 struct _GstCdParanoiaSrc {
       
    54   GstCddaBaseSrc   cddabasesrc;
       
    55 
       
    56   /*< private >*/
       
    57   cdrom_drive     *d;
       
    58   cdrom_paranoia  *p;
       
    59 
       
    60   gint             next_sector; /* -1 or next sector we expect to
       
    61                                  * read, so we know when to do a seek */
       
    62 
       
    63   gint             paranoia_mode;
       
    64   gint             read_speed;
       
    65   gint             search_overlap;
       
    66 
       
    67   gchar           *generic_device;
       
    68 };
       
    69 
       
    70 struct _GstCdParanoiaSrcClass {
       
    71   GstCddaBaseSrcClass parent_class;
       
    72 
       
    73   /* signal callbacks */
       
    74   /**
       
    75    * GstCdParanoiaSrcClass::transport-error:
       
    76    * @src: the GstCddaBaseSrc source element object
       
    77    * @sector: the sector at which the error happened
       
    78    *
       
    79    * This signal is emitted when a sector could not be read
       
    80    * because of a transport error.
       
    81    */
       
    82   void (*transport_error)	(GstCdParanoiaSrc * src, gint sector);
       
    83   /**
       
    84    * GstCdParanoiaSrcClass::uncorrected-error:
       
    85    * @src: the GstCddaBaseSrc source element object
       
    86    * @sector: the sector at which the error happened
       
    87    *
       
    88    * This signal is emitted when a sector could not be read
       
    89    * because of a transport error.
       
    90    */
       
    91   void (*uncorrected_error)	(GstCdParanoiaSrc * src, gint sector);
       
    92 };
       
    93 
       
    94 GType    gst_cd_paranoia_src_get_type (void);
       
    95 
       
    96 G_END_DECLS
       
    97 
       
    98 #endif /* __GST_CD_PARANOIA_SRC_H__ */
       
    99