[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.
This commit is contained in:
Thiago Santos 2009-05-15 01:54:44 -03:00 committed by Tim-Philipp Müller
parent 0643bf85bc
commit 8e95c502f7

View file

@ -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));