ext/theora/: Don't try to store a gdouble in a gboolean.
authorWim Taymans <wim.taymans@gmail.com>
Mon, 3 Apr 2006 16:43:10 +0000 (16:43 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Mon, 3 Apr 2006 16:43:10 +0000 (16:43 +0000)
Original commit message from CVS:
* ext/theora/gsttheoradec.h:
* ext/theora/theoradec.c: (theora_dec_src_event):
Don't try to store a gdouble in a gboolean.
Small cleanups.

ChangeLog
ext/theora/gsttheoradec.h
ext/theora/theoradec.c

index d39971f5e9994a668b67ed69582f2bfce5c17906..1876ac87b119ccf870a8fa6edf60634970373260 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-04-03  Wim Taymans  <wim@fluendo.com>
+
+       * ext/theora/gsttheoradec.h:
+       * ext/theora/theoradec.c: (theora_dec_src_event):
+       Don't try to store a gdouble in a gboolean.
+       Small cleanups.
+
 2006-04-03  Michael Smith  <msmith@fluendo.com>
 
        * ext/ogg/gstoggmux.c: (gst_ogg_mux_queue_pads):
index c4efd41a60cdff172db47866073d5a24252c2271..5222781a384b69a629187b8f2ca20a50b29490aa 100644 (file)
@@ -80,7 +80,7 @@ struct _GstTheoraDec
   GstSegment segment;
 
   /* QoS stuff */ /* with LOCK*/
-  gboolean proportion;
+  gdouble proportion;
   GstClockTime earliest_time;
 };
 
index 71f44dc5742a9e472c1d57da25e6fbd6260b5b85..aea6efdad36453a317d9a85b89386a4234295383 100644 (file)
@@ -565,6 +565,7 @@ theora_dec_src_event (GstPad * pad, GstEvent * event)
 
       gst_event_parse_seek (event, &rate, &format, &flags, &cur_type, &cur,
           &stop_type, &stop);
+      gst_event_unref (event);
 
       /* we have to ask our peer to seek to time here as we know
        * nothing about how to generate a granulepos from the src
@@ -584,7 +585,6 @@ theora_dec_src_event (GstPad * pad, GstEvent * event)
 
       res = gst_pad_push_event (dec->sinkpad, real_seek);
 
-      gst_event_unref (event);
       break;
     }
     case GST_EVENT_QOS:
@@ -597,17 +597,18 @@ theora_dec_src_event (GstPad * pad, GstEvent * event)
 
       /* we cannot randomly skip frame decoding since we don't have
        * B frames. we can however use the timestamp and diff to not
-       * push late frames. */
+       * push late frames. This would at least save us the time to
+       * crop/memcpy the data. */
       GST_OBJECT_LOCK (dec);
       dec->proportion = proportion;
       dec->earliest_time = timestamp + diff;
       GST_OBJECT_UNLOCK (dec);
 
-      res = gst_pad_event_default (pad, event);
+      res = gst_pad_push_event (dec->sinkpad, event);
       break;
     }
     default:
-      res = gst_pad_event_default (pad, event);
+      res = gst_pad_push_event (dec->sinkpad, event);
       break;
   }
 done:
@@ -619,7 +620,6 @@ done:
 convert_error:
   {
     GST_DEBUG_OBJECT (dec, "could not convert format");
-    gst_event_unref (event);
     goto done;
   }
 }