[0.11] gst-plugins-bad: celtenc: allow actually overriding frame size

Wim Taymans wtay at kemper.freedesktop.org
Mon Sep 26 13:32:35 PDT 2011


Module: gst-plugins-bad
Branch: 0.11
Commit: 90b2484648e3370edce45d53b29a3a9af6d4cd90
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=90b2484648e3370edce45d53b29a3a9af6d4cd90

Author: Vincent Penquerc'h <vincent.penquerch at collabora.co.uk>
Date:   Wed Sep 14 17:07:50 2011 +0100

celtenc: allow actually overriding frame size

https://bugzilla.gnome.org/show_bug.cgi?id=659087

---

 ext/celt/gstceltenc.c |    7 ++++++-
 ext/celt/gstceltenc.h |    1 +
 2 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/ext/celt/gstceltenc.c b/ext/celt/gstceltenc.c
index 7481579..5579bef 100644
--- a/ext/celt/gstceltenc.c
+++ b/ext/celt/gstceltenc.c
@@ -253,6 +253,9 @@ gst_celt_enc_sink_setcaps (GstPad * pad, GstCaps * caps)
     gst_caps_unref (otherpadcaps);
   }
 
+  if (enc->requested_frame_size > 0)
+    enc->frame_size = enc->requested_frame_size;
+
   GST_DEBUG_OBJECT (pad, "channels=%d rate=%d frame-size=%d",
       enc->channels, enc->rate, enc->frame_size);
 
@@ -573,6 +576,7 @@ gst_celt_enc_init (GstCeltEnc * enc, GstCeltEncClass * klass)
 
   enc->bitrate = DEFAULT_BITRATE;
   enc->frame_size = DEFAULT_FRAMESIZE;
+  enc->requested_frame_size = -1;
   enc->cbr = DEFAULT_CBR;
   enc->complexity = DEFAULT_COMPLEXITY;
   enc->max_bitrate = DEFAULT_MAX_BITRATE;
@@ -1090,7 +1094,8 @@ gst_celt_enc_set_property (GObject * object, guint prop_id,
       enc->bitrate = g_value_get_int (value);
       break;
     case PROP_FRAMESIZE:
-      enc->frame_size = g_value_get_int (value);
+      enc->requested_frame_size = g_value_get_int (value);
+      enc->frame_size = enc->requested_frame_size;
       break;
     case PROP_CBR:
       enc->cbr = g_value_get_boolean (value);
diff --git a/ext/celt/gstceltenc.h b/ext/celt/gstceltenc.h
index ec8a283..86fbc36 100644
--- a/ext/celt/gstceltenc.h
+++ b/ext/celt/gstceltenc.h
@@ -62,6 +62,7 @@ struct _GstCeltEnc {
 
   gint                  bitrate;
   gint                  frame_size;
+  gint                  requested_frame_size;
   gboolean              cbr;
   gint                  complexity;
   gint                  max_bitrate;



More information about the gstreamer-commits mailing list