summaryrefslogtreecommitdiffstats
path: root/mpvcore/timeline/tl_matroska.c
Commit message (Collapse)AuthorAgeFilesLines
* Move files part of the playback core to player sub-directorywm42013-10-301-575/+0
| | | | | | | | All these files access mp_core.h and MPContext, and form the actual player application. They should be all in one place, and separate from the other sources that are mere utility helpers. Preparation for splitting mplayer.c into multiple smaller parts.
* tl_matroska: fix use-after-free with --cachewm42013-10-191-3/+3
| | | | | | | | | | If cache was enabled, using ordered chapters could easily crash. The reason is that enable_cache() reopens the demuxer and closes the old one. The code after that (reading m->ordered_chapters etc.) then accessed freed data. This commit also avoids enabling cache for files which are not used (which would make opening much slower).
* matroska: don't add time for chapters without a sourceBen Boeckel2013-10-151-0/+3
|
* matroska: log about where missing time comes fromBen Boeckel2013-10-151-4/+21
|
* matroska: only error if at least a millisecond is missingBen Boeckel2013-10-151-1/+4
|
* matroska: account for missing information from short sourcesBen Boeckel2013-10-151-2/+31
| | | | | If a source is shorter than the requested chapter length, account for the time missing.
* matroska: modify chapter limits by join_diffBen Boeckel2013-10-151-9/+23
| | | | | | When adding or removing frames to avoid 1-frame seeks on chapter boundaries, the end of the chapter needs to be pushed or pulled by the same amount to keep the intended end frame the same.
* matroska: use memmove when collapsing the source list downBen Boeckel2013-10-081-1/+1
|
* matroska: avoid requesting the same source multiple timesBen Boeckel2013-10-081-0/+18
|
* matroska: support chapter references to ordered editionsBen Boeckel2013-10-081-7/+51
| | | | | | Since ordered editions can reference external files, when an ordered chapter references another ordered edition, we have to go and figure out what is is referencing as well.
* matroska: recursively search for referenced segmentsBen Boeckel2013-10-081-30/+50
| | | | | | | When playing a Matroska file with ordered chapters, it may reference another file by edition uid. When this edition is also ordered, it may reference other files. When this occurs, the new segment/edition pair is added to the list of sources to search for.
* matroska: refactor ordered chapter timeline buildingBen Boeckel2013-10-071-63/+103
| | | | | This will need to be recursive to support chapters referencing ordered editions in other files.
* matroska: select the edition using the requested edition uidBen Boeckel2013-10-071-3/+10
|
* matroska: store segment/edition uids in a single structureBen Boeckel2013-10-071-20/+24
| | | | | | To support edition references in matroska chapters, editions need to be remembered for each chapter and source. To facilitate easier management of these now-paired uids, a single structure is used.
* matroska: fix uninitialized memory accesses with ordered chaptersBen Boeckel2013-09-261-0/+1
| | | | | | | There is uninitialized memory access if the actual size isn't passed along. In the worst case, this can cause a source to be loaded against the uninitialized memory, causing a false count of found versus required sources, preventing the "Failed to find ordered chapter part" message.
* core: remove a minor memory leakwm42013-09-081-0/+1
|
* core: move contents to mpvcore (2/2)Stefano Pigozzi2013-08-061-5/+5
| | | | Followup commit. Fixes all the files references.
* core: move contents to mpvcore (1/2)Stefano Pigozzi2013-08-061-0/+374
core is used in many unix systems for core dumps. For that reason some tools work under the assumption that the file is indeed a core dump (for example autoconf does this). This commit just renames the files. The following one will change all the includes to fix compilation. This is done this way because git has a easier time tracing file changes if there is a pure rename commit.