ext/cdparanoia/: Partially ported cdparanoia now that basesrc can support a plugin like this..

Original commit message from CVS:
* ext/cdparanoia/Makefile.am:
* ext/cdparanoia/gstcdparanoia.c: (gst_paranoia_mode_get_type),
(gst_paranoia_endian_get_type), (_do_init),
(cdparanoia_class_init), (cdparanoia_init),
(cdparanoia_set_property), (cdparanoia_get_property),
(cdparanoia_do_seek), (cdparanoia_is_seekable),
(cdparanoia_create), (cdparanoia_start), (cdparanoia_stop),
(cdparanoia_convert), (cdparanoia_get_query_types),
(cdparanoia_query), (cdparanoia_set_index),
(cdparanoia_uri_set_uri):
* ext/cdparanoia/gstcdparanoia.h:
Partially ported cdparanoia now that basesrc can support a
plugin like this..
This commit is contained in:
Wim Taymans 2005-12-12 15:06:46 +00:00
parent c758847445
commit d02b57f7e0
4 changed files with 350 additions and 456 deletions

View file

@ -1,3 +1,19 @@
2005-12-12 Wim Taymans <wim@fluendo.com>
* ext/cdparanoia/Makefile.am:
* ext/cdparanoia/gstcdparanoia.c: (gst_paranoia_mode_get_type),
(gst_paranoia_endian_get_type), (_do_init),
(cdparanoia_class_init), (cdparanoia_init),
(cdparanoia_set_property), (cdparanoia_get_property),
(cdparanoia_do_seek), (cdparanoia_is_seekable),
(cdparanoia_create), (cdparanoia_start), (cdparanoia_stop),
(cdparanoia_convert), (cdparanoia_get_query_types),
(cdparanoia_query), (cdparanoia_set_index),
(cdparanoia_uri_set_uri):
* ext/cdparanoia/gstcdparanoia.h:
Partially ported cdparanoia now that basesrc can support a
plugin like this..
2005-12-12 Wim Taymans <wim@fluendo.com> 2005-12-12 Wim Taymans <wim@fluendo.com>
* tests/examples/seek/scrubby.c: (main): * tests/examples/seek/scrubby.c: (main):

View file

@ -3,6 +3,6 @@ plugin_LTLIBRARIES = libgstcdparanoia.la
libgstcdparanoia_la_SOURCES = gstcdparanoia.c libgstcdparanoia_la_SOURCES = gstcdparanoia.c
libgstcdparanoia_la_CFLAGS = $(GST_CFLAGS) libgstcdparanoia_la_CFLAGS = $(GST_CFLAGS)
libgstcdparanoia_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) libgstcdparanoia_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstcdparanoia_la_LIBADD = $(CDPARANOIA_LIBS) $(GST_LIBS) libgstcdparanoia_la_LIBADD = $(CDPARANOIA_LIBS) $(GST_LIBS) $(GST_BASE_LIBS)
noinst_HEADERS = gstcdparanoia.h noinst_HEADERS = gstcdparanoia.h

File diff suppressed because it is too large Load diff

View file

@ -24,10 +24,9 @@
#include <glib.h> #include <glib.h>
#include <gst/gst.h> #include <gst/gst.h>
#include <gst/base/gstpushsrc.h>
#ifdef __cplusplus G_BEGIN_DECLS
extern "C" {
#endif /* __cplusplus */
#define size16 gint16 #define size16 gint16
#define size32 gint32 #define size32 gint32
@ -39,8 +38,6 @@ extern "C" {
#include <cdda_interface.h> #include <cdda_interface.h>
#include <cdda_paranoia.h> #include <cdda_paranoia.h>
#endif #endif
/*#define CDPARANOIA_BASEOFFSET 0xf1d2 */ /*#define CDPARANOIA_BASEOFFSET 0xf1d2 */
#define CDPARANOIA_BASEOFFSET 0x0 #define CDPARANOIA_BASEOFFSET 0x0
@ -56,20 +53,18 @@ extern "C" {
#define GST_IS_CDPARANOIA_CLASS(obj) \ #define GST_IS_CDPARANOIA_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_CDPARANOIA)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_CDPARANOIA))
/* NOTE: per-element flags start with 16 for now */
typedef enum {
CDPARANOIA_OPEN = (GST_ELEMENT_FLAG_LAST << 0),
CDPARANOIA_FLAG_LAST = (GST_ELEMENT_FLAG_LAST << 2),
} CDParanoiaFlags;
typedef struct _CDParanoia CDParanoia; typedef struct _CDParanoia CDParanoia;
typedef struct _CDParanoiaClass CDParanoiaClass; typedef struct _CDParanoiaClass CDParanoiaClass;
/**
* CDParanoia:
*
* Opaque #CDParanoia structure
*/
struct _CDParanoia { struct _CDParanoia {
GstElement element; GstPushSrc pushsrc;
/* pads */
GstPad *srcpad; /*< private >*/
/* Index */ /* Index */
GstIndex *index; GstIndex *index;
@ -100,29 +95,28 @@ struct _CDParanoia {
gint first_sector; gint first_sector;
gint last_sector; gint last_sector;
/* hacks by Gordon Irving */
gchar discid[20]; gchar discid[20];
gint64 offsets[MAXTRK]; gint64 offsets[MAXTRK];
gint64 total_seconds; gint64 total_seconds;
gint prev_sec; /*< private >*/
gboolean discont_sent; gpointer _gst_reserved[GST_PADDING];
}; };
struct _CDParanoiaClass { struct _CDParanoiaClass {
GstElementClass parent_class; GstPushSrcClass parent_class;
/* signal callbacks */ /* signal callbacks */
void (*smilie_change) (CDParanoia *cdparanoia, gchar *smilie); void (*smilie_change) (CDParanoia *cdparanoia, gchar *smilie);
void (*transport_error) (CDParanoia *cdparanoia, gint offset); void (*transport_error) (CDParanoia *cdparanoia, gint offset);
void (*uncorrected_error) (CDParanoia *cdparanoia, gint offset); void (*uncorrected_error) (CDParanoia *cdparanoia, gint offset);
/*< private >*/
gpointer _gst_reserved[GST_PADDING];
}; };
GType cdparanoia_get_type(void); GType cdparanoia_get_type(void);
#ifdef __cplusplus G_END_DECLS
}
#endif /* __cplusplus */
#endif /* __CDPARANOIA_H__ */ #endif /* __CDPARANOIA_H__ */