video: Make all frame_number guint32
authorEdward Hervey <edward@collabora.com>
Thu, 26 Jul 2012 16:36:53 +0000 (18:36 +0200)
committerEdward Hervey <edward@collabora.com>
Thu, 26 Jul 2012 16:38:42 +0000 (18:38 +0200)
Unifies the code and ensures that:
* subclasses needing to use the frame_number on a void* field will
  always work
* wraparounds will be automatically taken care of if we have to deal
  with more than 2**32 frames

gst-libs/gst/video/gstvideodecoder.c
gst-libs/gst/video/gstvideoencoder.c
gst-libs/gst/video/gstvideoutils.h

index e6fcb34..07d656f 100644 (file)
@@ -372,8 +372,8 @@ struct _GstVideoDecoderPrivate
   int reorder_depth;
   int distance_from_sync;
 
-  guint64 system_frame_number;
-  guint64 decode_frame_number;
+  guint32 system_frame_number;
+  guint32 decode_frame_number;
 
   GList *frames;                /* Protected with OBJECT_LOCK */
   GstVideoCodecState *input_state;
index 455215b..ba91c5a 100644 (file)
@@ -153,7 +153,7 @@ struct _GstVideoEncoderPrivate
 
   GList *force_key_unit;        /* List of pending forced keyunits */
 
-  guint64 system_frame_number;
+  guint32 system_frame_number;
 
   GList *frames;                /* Protected with OBJECT_LOCK */
   GstVideoCodecState *input_state;
index 60e27ea..50cb2b5 100644 (file)
@@ -222,9 +222,9 @@ struct _GstVideoCodecFrame
   guint32 flags;
 
   /*< public >*/
-  gint system_frame_number;    /* ED */
-  gint decode_frame_number;    /* ED */
-  gint presentation_frame_number; /* ED */
+  guint32 system_frame_number; /* ED */
+  guint32 decode_frame_number; /* ED */
+  guint32 presentation_frame_number; /* ED */
 
   GstClockTime dts;       /* ED */
   GstClockTime pts;       /* ED */