summaryrefslogtreecommitdiffstats
path: root/sys/vcd/vcdsrc.h
diff options
context:
space:
mode:
authorRonald S. Bultje <rbultje@ronald.bitfreak.net>2004-11-25 20:03:51 +0000
committerRonald S. Bultje <rbultje@ronald.bitfreak.net>2004-11-25 20:03:51 +0000
commit97aeaa8eb0ff5e853f2dbd25b492da456073b4cb (patch)
treedcb67111db44a2f8f3acdbcfb39265fdb524d3d5 /sys/vcd/vcdsrc.h
parentbcdcdcd3d63af7c01cb6980fc66b51e1a693fbb4 (diff)
downloadgst-plugins-bad-97aeaa8eb0ff5e853f2dbd25b492da456073b4cb.tar.gz
gst-plugins-bad-97aeaa8eb0ff5e853f2dbd25b492da456073b4cb.tar.bz2
gst-plugins-bad-97aeaa8eb0ff5e853f2dbd25b492da456073b4cb.zip
gst/cdxaparse/: SVCD/VCD header stripping separated from CDXA image parsing.
Original commit message from CVS: * gst/cdxaparse/Makefile.am: * gst/cdxaparse/gstcdxaparse.c: (gst_cdxaparse_get_type), (gst_cdxaparse_class_init), (gst_cdxaparse_init), (gst_cdxaparse_loop), (gst_cdxaparse_change_state), (plugin_init): * gst/cdxaparse/gstcdxaparse.h: * gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_get_type), (gst_cdxastrip_base_init), (gst_cdxastrip_class_init), (gst_cdxastrip_init), (gst_cdxastrip_get_src_formats), (gst_cdxastrip_get_src_query_types), (gst_cdxastrip_handle_src_query), (gst_cdxastrip_get_event_mask), (gst_cdxastrip_handle_src_event), (gst_cdxastrip_strip), (gst_cdxastrip_sync), (gst_cdxastrip_handle_event), (gst_cdxastrip_chain), (gst_cdxastrip_change_state): * gst/cdxaparse/gstcdxastrip.h: SVCD/VCD header stripping separated from CDXA image parsing. * gst/typefind/gsttypefindfunctions.c: (mp3_type_find), (plugin_init): Add VCD/SVCD header typefinding for VCD/SVCD. * sys/vcd/vcdsrc.c: (gst_vcdsrc_get_type), (gst_vcdsrc_base_init), (gst_vcdsrc_class_init), (gst_vcdsrc_init), (gst_vcdsrc_set_property), (gst_vcdsrc_get_property), (gst_vcdsrc_get_event_mask), (gst_vcdsrc_get_query_types), (gst_vcdsrc_get_formats), (gst_vcdsrc_srcpad_event), (gst_vcdsrc_srcpad_query), (gst_vcdsrc_get), (gst_vcdsrc_open_file), (gst_vcdsrc_close_file), (gst_vcdsrc_change_state), (gst_vcdsrc_msf), (gst_vcdsrc_recalculate), (gst_vcdsrc_uri_get_type), (gst_vcdsrc_uri_get_protocols), (gst_vcdsrc_uri_get_uri), (gst_vcdsrc_uri_set_uri), (gst_vcdsrc_uri_handler_init): * sys/vcd/vcdsrc.h: Fix up, add seeking, querying, URI interface. Works in totem now.
Diffstat (limited to 'sys/vcd/vcdsrc.h')
-rw-r--r--sys/vcd/vcdsrc.h39
1 files changed, 17 insertions, 22 deletions
diff --git a/sys/vcd/vcdsrc.h b/sys/vcd/vcdsrc.h
index ab2c74da..2ab0e49b 100644
--- a/sys/vcd/vcdsrc.h
+++ b/sys/vcd/vcdsrc.h
@@ -21,25 +21,19 @@
#ifndef __VCDSRC_H__
#define __VCDSRC_H__
-
#include <gst/gst.h>
-
#include <linux/cdrom.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
+G_BEGIN_DECLS
#define VCD_BYTES_PER_SECTOR 2352
#define GST_TYPE_VCDSRC \
- (vcdsrc_get_type())
-#define VCDSRC(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_VCDSRC,VCDSrc))
-#define VCDSRC_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_VCDSRC,VCDSrcClass))
+ (gst_vcdsrc_get_type())
+#define GST_VCDSRC(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_VCDSRC,GstVCDSrc))
+#define GST_VCDSRC_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_VCDSRC,GstVCDSrcClass))
#define GST_IS_VCDSRC(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_VCDSRC))
#define GST_IS_VCDSRC_CLASS(obj) \
@@ -50,12 +44,12 @@ typedef enum {
VCDSRC_OPEN = GST_ELEMENT_FLAG_LAST,
VCDSRC_FLAG_LAST = GST_ELEMENT_FLAG_LAST+2,
-} VCDSrcFlags;
+} GstVCDSrcFlags;
-typedef struct _VCDSrc VCDSrc;
-typedef struct _VCDSrcClass VCDSrcClass;
+typedef struct _GstVCDSrc GstVCDSrc;
+typedef struct _GstVCDSrcClass GstVCDSrcClass;
-struct _VCDSrc {
+struct _GstVCDSrc {
GstElement element;
/* pads */
GstPad *srcpad;
@@ -75,6 +69,10 @@ struct _VCDSrc {
gulong trackoffset;
gulong frameoffset;
+ /* bytes offset in next buf */
+ gulong tempoffset;
+ gboolean discont, flush;
+
gulong curoffset; /* current offset in file */
gulong bytes_per_read; /* bytes per read */
@@ -82,15 +80,12 @@ struct _VCDSrc {
int max_errors;
};
-struct _VCDSrcClass {
+struct _GstVCDSrcClass {
GstElementClass parent_class;
};
-GType vcdsrc_get_type(void);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+GType gst_vcdsrc_get_type(void);
+G_END_DECLS
#endif /* __VCDSRC_H__ */