summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--ext/speex/gstspeexenc.c6
2 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index dca0e02b..d76f850d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2004-10-15 Wim Taymans <wim@fluendo.com>
+ * ext/speex/gstspeexenc.c: (gst_speexenc_class_init),
+ (gst_speexenc_chain):
+ Fix speex timestamps so that it gets muxed properly.
+
+2004-10-15 Wim Taymans <wim@fluendo.com>
+
* ext/raw1394/gstdv1394src.c: (gst_dv1394src_get_type),
(gst_dv1394src_base_init), (gst_dv1394src_class_init),
(gst_dv1394src_init), (gst_dv1394src_dispose),
diff --git a/ext/speex/gstspeexenc.c b/ext/speex/gstspeexenc.c
index adf1cd80..009a0e18 100644
--- a/ext/speex/gstspeexenc.c
+++ b/ext/speex/gstspeexenc.c
@@ -196,7 +196,7 @@ gst_speexenc_class_init (GstSpeexEncClass * klass)
0.0, 10.0, DEFAULT_QUALITY, G_PARAM_READWRITE));
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_BITRATE,
g_param_spec_int ("bitrate", "Encoding Bit-rate",
- "Specify an encoding bit-rate (in bps). ",
+ "Specify an encoding bit-rate (in bps). (0 = automatic)",
0, G_MAXINT, DEFAULT_BITRATE, G_PARAM_READWRITE));
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_VBR,
g_param_spec_boolean ("vbr", "VBR",
@@ -952,6 +952,10 @@ gst_speexenc_chain (GstPad * pad, GstData * _data)
g_assert (written == outsize);
speex_bits_reset (&speexenc->bits);
+ GST_BUFFER_TIMESTAMP (outbuf) =
+ (speexenc->frameno * frame_size -
+ speexenc->lookahead) * GST_SECOND / speexenc->rate;
+ GST_BUFFER_DURATION (outbuf) = frame_size * GST_SECOND / speexenc->rate;
GST_BUFFER_OFFSET (outbuf) = speexenc->bytes_out;
GST_BUFFER_OFFSET_END (outbuf) =
speexenc->frameno * frame_size - speexenc->lookahead;