summaryrefslogtreecommitdiffstats
path: root/gst
diff options
context:
space:
mode:
authorThiago Santos <thiagoss@embedded.ufcg.edu.br>2009-05-15 01:54:44 -0300
committerThiago Santos <thiagoss@embedded.ufcg.edu.br>2009-05-15 09:21:44 -0300
commit405f80dec487103dfe52e6ce6aa3fb05db74e495 (patch)
tree5411b39780c267cdcd7e763a2e4bccf163807197 /gst
parentf5ba4904f794a107bc5d1e56f824789bca295383 (diff)
downloadgst-plugins-bad-405f80dec487103dfe52e6ce6aa3fb05db74e495.tar.gz
gst-plugins-bad-405f80dec487103dfe52e6ce6aa3fb05db74e495.tar.bz2
gst-plugins-bad-405f80dec487103dfe52e6ce6aa3fb05db74e495.zip
[qtmux] Fixes segfault when adding a blob as first tag.
Moves tags data initialization to the function that actually appends the tags to the list. Fixes #582702 Also fixes some style caught by the pre-commit hook.
Diffstat (limited to 'gst')
-rw-r--r--gst/qtmux/atoms.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/gst/qtmux/atoms.c b/gst/qtmux/atoms.c
index df6958e0..a5d8fe38 100644
--- a/gst/qtmux/atoms.c
+++ b/gst/qtmux/atoms.c
@@ -1855,13 +1855,11 @@ atom_stsd_copy_data (AtomSTSD * stsd, guint8 ** buffer, guint64 * size,
break;
default:
if (se->kind == VIDEO) {
- size +=
- sample_entry_mp4v_copy_data ((SampleTableEntryMP4V *) walker->
- data, buffer, size, offset);
+ size += sample_entry_mp4v_copy_data ((SampleTableEntryMP4V *)
+ walker->data, buffer, size, offset);
} else if (se->kind == AUDIO) {
- size +=
- sample_entry_mp4a_copy_data ((SampleTableEntryMP4A *) walker->
- data, buffer, size, offset);
+ size += sample_entry_mp4a_copy_data ((SampleTableEntryMP4A *)
+ walker->data, buffer, size, offset);
} else {
if (!atom_hint_sample_entry_copy_data (
(AtomHintSampleEntry *) walker->data, buffer, size, offset)) {
@@ -2547,6 +2545,7 @@ atom_moov_append_tag (AtomMOOV * moov, AtomInfo * tag)
{
AtomILST *ilst;
+ atom_moov_init_metatags (moov);
ilst = moov->udta->meta->ilst;
ilst->entries = g_list_append (ilst->entries, tag);
}
@@ -2563,7 +2562,6 @@ atom_moov_add_tag (AtomMOOV * moov, guint32 fourcc, guint32 flags,
atom_tag_data_alloc_data (tdata, size);
g_memmove (tdata->data, data, size);
- atom_moov_init_metatags (moov);
atom_moov_append_tag (moov,
build_atom_info_wrapper ((Atom *) tag, atom_tag_copy_data,
atom_tag_free));