Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2009-02-06 | mxfdemux: Add keyframe detection for MPEG2 video streams | Sebastian Dröge | 3 | -0/+91 | |
This is useful for seeking as we usually want to seek to the previous keyframe. The keyframe detection is done by parsing the MPEG2 elementary stream and if a GOP or I-frame packet is found we assume a keyframe in this edit unit. | |||||
2009-02-05 | mxfdemux: Protect the metadata with a lock against concurrent access | Sebastian Dröge | 2 | -21/+62 | |
2009-02-04 | Update TODO | Sebastian Dröge | 1 | -2/+4 | |
2009-02-04 | Post an UMID tag with the current package's UMID | Sebastian Dröge | 3 | -0/+15 | |
2009-02-04 | Reset the current partition after seeking and NEWSEGMENT events | Sebastian Dröge | 1 | -1/+6 | |
2009-02-04 | In push mode play all remaining parts of the file on EOS if there are any | Sebastian Dröge | 1 | -13/+72 | |
2009-02-04 | Add property to set the maximum allowed time difference between tracks | Sebastian Dröge | 2 | -3/+21 | |
2009-02-04 | Always set the current package, not only when it was changed | Sebastian Dröge | 1 | -1/+1 | |
This is necessary as the current package link will be set to NULL when updated metadata is parsed and should be set here again. | |||||
2009-02-04 | Try to resolve all synchronization issues, not only the first | Sebastian Dröge | 1 | -35/+33 | |
2009-02-04 | Remove some checks that will always be TRUE | Sebastian Dröge | 1 | -26/+19 | |
2009-02-02 | Cleanup playback package selection and notify about the current package | Sebastian Dröge | 1 | -15/+21 | |
2009-02-02 | Update tags properly, especially on component switch | Sebastian Dröge | 1 | -5/+18 | |
2009-02-02 | Error out if no pads could be created | Sebastian Dröge | 1 | -0/+3 | |
2009-02-02 | Resolve metadata and update tracks if necessary before seeking | Sebastian Dröge | 1 | -4/+6 | |
2009-02-02 | Don't go after the last component of a track | Sebastian Dröge | 1 | -0/+1 | |
2009-02-02 | Return an error if updating an already existing pad fails | Sebastian Dröge | 1 | -21/+56 | |
2009-02-02 | Fix seeking if the source clip duration is unknown | Sebastian Dröge | 1 | -14/+19 | |
2009-02-01 | Add initial support for seeking in push mode | Sebastian Dröge | 1 | -63/+216 | |
2009-02-01 | Fix deadlocks when seeking in pull mode failed and check new offset before ↵ | Sebastian Dröge | 1 | -2/+11 | |
using it | |||||
2009-02-01 | Update offset in push mode and handle events properly | Sebastian Dröge | 1 | -36/+41 | |
2009-02-01 | Implement initial seeking support (pull mode only) | Sebastian Dröge | 2 | -18/+242 | |
2009-01-31 | Don't use GLib 2.16 API unconditionally | Sebastian Dröge | 2 | -19/+75 | |
2009-01-31 | Check for EOS on all pads after adjusting the essence track durations | Sebastian Dröge | 1 | -8/+31 | |
2009-01-31 | Fix duration calculation for essence tracks | Sebastian Dröge | 1 | -2/+4 | |
2009-01-31 | Implement GstElement::query/get_query_types vfuncs | Sebastian Dröge | 1 | -8/+114 | |
2009-01-31 | Reset all internal state in finalize | Sebastian Dröge | 1 | -2/+3 | |
2009-01-31 | Improve EOS detection and fix push mode for the last pushed in buffer | Sebastian Dröge | 1 | -60/+80 | |
2009-01-31 | Keep track of essence track position when playing source packages | Sebastian Dröge | 2 | -20/+16 | |
This ensures that the correct essence elements are played and that we seek to the correct essence elements. | |||||
2009-01-31 | Compensate for timestamp/duration rounding errors | Sebastian Dröge | 2 | -0/+13 | |
2009-01-31 | Improve EOS logic to check all pads when pulling a packet returned EOS | Sebastian Dröge | 1 | -3/+2 | |
This makes sure that we finish all pads that are at EOS now instead of just finishing one and returning to this point over and over again. | |||||
2009-01-31 | Only push buffers for pads that are not more than 500ms before other pads | Sebastian Dröge | 1 | -14/+27 | |
2009-01-31 | Improve EOS logic to only go into EOS after all tracks are finished | Sebastian Dröge | 1 | -33/+117 | |
2009-01-31 | Update TODO list | Sebastian Dröge | 1 | -4/+0 | |
2009-01-31 | Try to keep the timestamp difference between tracks lower than 500ms | Sebastian Dröge | 1 | -27/+202 | |
2009-01-31 | Fix playback of atom files | Sebastian Dröge | 1 | -1/+1 | |
2009-01-31 | Keep track of current playback position | Sebastian Dröge | 1 | -11/+14 | |
2009-01-31 | Set essence track positions to 0 if we're at the start partition | Sebastian Dröge | 1 | -9/+28 | |
2009-01-31 | Generate an index table for essence streams | Sebastian Dröge | 11 | -183/+272 | |
Generate an index table for essence streams during playback and make sure that only the correct essence elements are used for played tracks. Make it possible to have one essence stream used in multiple playback tracks. Fix some minor bugs. | |||||
2009-01-31 | Don't complain if the preface has no primary package set | Sebastian Dröge | 1 | -6/+8 | |
2009-01-31 | Allow index table segments without primer pack | Sebastian Dröge | 2 | -11/+13 | |
When parsing an index table segment without a valid primer pack in this partition only parse the static local tags and ignore all dynamic ones. This allows us to use index table segments in some broken files. | |||||
2009-01-31 | Add essence track abstraction | Sebastian Dröge | 2 | -247/+460 | |
Add an abstraction to represent essence tracks and use this everywhere. This will later be used to keep track of positions and to generate/handle seek tables. Some random cleanup and renaming. | |||||
2009-01-31 | Fix parsing of index table segments | Sebastian Dröge | 1 | -4/+6 | |
Allocate memory for the pos tables and slice offsets of the index entries separately to a) fix alignment in weird cases and b) to actually have something to free() in the index table segment reset function. | |||||
2009-01-31 | Improve detection of the end of the header metadata | Sebastian Dröge | 2 | -12/+20 | |
Header metadata is finished after partition.header_byte_count bytes after the first byte of the primer pack are handled. After this there can only be index table segments, filler packets, essence or the start of the next partition. This fixes playback of some files that have non-standard metadata packets in the header metadata. | |||||
2009-01-23 | Store all partitions & primer packs in memory for faster access | Sebastian Dröge | 4 | -128/+213 | |
Store all partitions & primer packs in memory for faster access. This is later needed for fast seeking. Pre-fill the list of partitions with the content of the random index pack. Don't parse metadata of an partition twice. | |||||
2009-01-22 | Fix UL for DTS and MPEG2 layer 1 | Sebastian Dröge | 1 | -2/+2 | |
2009-01-22 | Add support for AAC audio | Sebastian Dröge | 1 | -0/+10 | |
2009-01-22 | Store MXF metadata in a hash table, keyed by UID | Sebastian Dröge | 7 | -835/+819 | |
Store the MXF metadata in a hash table, keyed by the instance UID. This simplifies resolval of the metadata and makes looping over all metadata sets unnecessary in most cases. Additionally parse metadata always. If we already have a metadata set with the same UID replace it only if the new metadata set is from a later offset. This fixes metadata parsing of files where following partitions don't have a complete copy of the previous metadata. | |||||
2009-01-22 | Build the random index pack while parsing | Sebastian Dröge | 2 | -10/+40 | |
If the file contains no random index pack or just an invalid one build the random index pack while parsing. | |||||
2009-01-22 | Update copyrights for 2009 | Sebastian Dröge | 25 | -25/+25 | |
2009-01-22 | Simplify parsing of UL/UUID arrays | Sebastian Dröge | 6 | -1138/+640 | |
Simplify parsing of UL/UUID arrays by abstracting it into a separate function. |