| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
| |
If the cache is enabled, the demuxer is closed and opened again (because
currently, the cache can not be enabled atfer data was already read).
The call for opening a new demuxer uses the same params struct, which
references the ctx->uids array. But there is a MP_TARRAY_GROW()
invocation somewhere on the way, which can reallocate the ctx->uids
array, making params.uids a dangling pointer.
This issue probably existed for a longer time, probably since 5cd33853
(slightly more obvious since f50b105d).
|
|
|
|
|
|
|
| |
Again removes some indirections and extra arguments.
Also replace some memcpy/memmoves with assignments. (Assignments became
possible only later, when reference UIDs were turned into a struct.)
|
|
|
|
| |
Removes tripple pointer indirections and such.
|
| |
|
|
|
|
|
| |
Often stream and a demuxer are opened at the same time. Provide a
function for this and replace most of its uses.
|
|
|
|
| |
Fold the relatively obscure force_format parameter into demuxer_params.
|
|
|
|
|
| |
Although their lifetimes are conceptually different, it happens often
that a demuxer is destroyed together with its stream.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Matroska timeline code was the only thing which still used the
demuxer.type field. This field explicitly identifies a demuxer
implementation. The purpose of the Matroska timeline code was to reject
files that are not Matroska. But it already forces the Matroska format,
meaning loading will explicitly only use the Matroska demuxer. If the
demuxer can't open the file, no other demuxer will be tried, and thus
checking the field is redundant.
The change in demux_mkv_timeline.c removes the if condition, and
unindents the if body.
|
|
Separate from previous commit, because git is bad at tracking file
renames when the file contents are also changed.
|