summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2009-12-07 14:23:22 +0100
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2009-12-07 14:23:22 +0100
commita009463d3ff4af9235d2dfd08b22c967b670ca7f (patch)
tree429e23cecf8a03cb90fadc52aa0ac99a4b3fea23
parentb502383f18547df41af0a34868b0e2bb0fd82cc0 (diff)
assrender: If an ASS track was allocated already only feed new codec_data to it instead of recreating
-rw-r--r--ext/assrender/gstassrender.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/ext/assrender/gstassrender.c b/ext/assrender/gstassrender.c
index d0fd78a23..5a5aa597b 100644
--- a/ext/assrender/gstassrender.c
+++ b/ext/assrender/gstassrender.c
@@ -440,10 +440,9 @@ gst_ass_render_setcaps_text (GstPad * pad, GstCaps * caps)
codec_private = (gchar *) GST_BUFFER_DATA (priv);
codec_private_size = GST_BUFFER_SIZE (priv);
- if (render->ass_track)
- ass_free_track (render->ass_track);
+ if (!render->ass_track)
+ render->ass_track = ass_new_track (render->ass_library);
- render->ass_track = ass_new_track (render->ass_library);
ass_process_codec_private (render->ass_track,
codec_private, codec_private_size);