summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Schmidt <thaytan@noraisin.net>2012-02-13 23:04:12 +1100
committerJan Schmidt <thaytan@noraisin.net>2012-02-13 23:05:35 +1100
commitdebf4984dfe17799d9da6d520e4f4fd304727084 (patch)
tree87bc2d3d321c10dbc963eb08f375b6d66aafa5c9
parent1cbd755a2cd45531076c7b19ef194b77d5575cb0 (diff)
mpegtsmux: Trivial bug fix. Don't copy data from an uninited buffer.
-rw-r--r--gst/mpegtsmux/mpegtsmux.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gst/mpegtsmux/mpegtsmux.c b/gst/mpegtsmux/mpegtsmux.c
index 9eede8125..002d6d50d 100644
--- a/gst/mpegtsmux/mpegtsmux.c
+++ b/gst/mpegtsmux/mpegtsmux.c
@@ -1087,11 +1087,11 @@ new_packet_m2ts (MpegTsMux * mux, guint8 * data, guint len, gint64 new_pcr)
return FALSE;
}
- new_packet_common_init (mux, buf, data, len);
-
/* copies the TS data of 188 bytes to the m2ts buffer at an offset
of 4 bytes to leave space for writing the timestamp later */
memcpy (GST_BUFFER_DATA (buf) + 4, data, len);
+ /* After copying the data into the buffer, do other common init (flags and streamheaders) */
+ new_packet_common_init (mux, buf, data, len);
if (new_pcr < 0) {
/* If theres no pcr in current ts packet then just add the packet
@@ -1198,9 +1198,10 @@ new_packet_normal_ts (MpegTsMux * mux, guint8 * data, guint len, gint64 new_pcr)
return FALSE;
}
+ memcpy (GST_BUFFER_DATA (buf), data, len);
+ /* After copying the data into the buffer, do other common init (flags and streamheaders) */
new_packet_common_init (mux, buf, data, len);
- memcpy (GST_BUFFER_DATA (buf), data, len);
GST_BUFFER_TIMESTAMP (buf) = mux->last_ts;
ret = gst_pad_push (mux->srcpad, buf);