qtmux: do not add size to the pointer variable
Do not wrongly add the result of the function to the pointer to the buffer size. Instead, check the result to see if the serialization was ok. Based on a patch by: "Carsten Kroll <car@ximidi.com>" Fixes #602106
This commit is contained in:
parent
1d155a6357
commit
b53243fed3
@ -1909,11 +1909,15 @@ 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);
|
||||
if (!sample_entry_mp4v_copy_data ((SampleTableEntryMP4V *)
|
||||
walker->data, buffer, size, offset)) {
|
||||
return 0;
|
||||
}
|
||||
} else if (se->kind == AUDIO) {
|
||||
size += sample_entry_mp4a_copy_data ((SampleTableEntryMP4A *)
|
||||
walker->data, buffer, size, offset);
|
||||
if (!sample_entry_mp4a_copy_data ((SampleTableEntryMP4A *)
|
||||
walker->data, buffer, size, offset)) {
|
||||
return 0;
|
||||
}
|
||||
} else {
|
||||
if (!atom_hint_sample_entry_copy_data (
|
||||
(AtomHintSampleEntry *) walker->data, buffer, size, offset)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user