summaryrefslogtreecommitdiffstats
path: root/gst/avi/gstavidemux.h
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@collabora.co.uk>2009-09-22 22:12:58 +0200
committerWim Taymans <wim@metal.(none)>2009-09-28 22:16:57 +0200
commitceb7d66e2582090317aa0cf33007885985ad12cb (patch)
treea2437c56239c0b6e040562883987de6c6c185563 /gst/avi/gstavidemux.h
parent8aa38308527301b48803823cb9c4db0404ac9cb5 (diff)
avi: implement index scanning
Implement scanning of the file when we can parse the index. Some refactoring of common code. Cleanups and comments. Remove some reimplemented code. Remove index massage code and put a FIXME where we should do something equivalent later.
Diffstat (limited to 'gst/avi/gstavidemux.h')
-rw-r--r--gst/avi/gstavidemux.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/gst/avi/gstavidemux.h b/gst/avi/gstavidemux.h
index ff4235ff..66537a6d 100644
--- a/gst/avi/gstavidemux.h
+++ b/gst/avi/gstavidemux.h
@@ -57,9 +57,9 @@ typedef struct {
} GstAviIndexEntry;
#define GST_AVI_KEYFRAME 1
-#define ENTRY_IS_KEYFRAME(e) (((e)->flags & GST_AVI_KEYFRAME) == GST_AVI_KEYFRAME)
-#define ENTRY_SET_KEYFRAME(e) ((e)->flags |= GST_AVI_KEYFRAME)
-#define ENTRY_UNSET_KEYFRAME(e) ((e)->flags &= ~(GST_AVI_KEYFRAME))
+#define ENTRY_IS_KEYFRAME(e) ((e)->flags == GST_AVI_KEYFRAME)
+#define ENTRY_SET_KEYFRAME(e) ((e)->flags = GST_AVI_KEYFRAME)
+#define ENTRY_UNSET_KEYFRAME(e) ((e)->flags = 0)
typedef struct {
/* index of this streamcontext */
@@ -149,6 +149,8 @@ typedef struct _GstAviDemux {
guint64 offset;
gboolean abort_buffering;
+ /* when we loaded the indexes */
+ gboolean have_index;
/* index offset in the file */
guint64 index_offset;