summaryrefslogtreecommitdiffstats
path: root/gst/mxf/mxfdemux.c
AgeCommit message (Collapse)AuthorFilesLines
2009-06-18mxfdemux: fix stray semicolons that mess up if statementTim-Philipp Müller1-4/+4
2009-05-15mxfdemux: Use a RW lock to protect metadata and add all pads at once without ↵Sebastian Dröge1-69/+92
a lock held This makes it possible, among other things, to do a query in the pad-added callback. Fixes bug #582656.
2009-04-07mxfdemux: Don't use invalid buffer offsets, instead assume offset == 0Sebastian Dröge1-1/+2
2009-03-26mxf: Use mxf_u{l,uid}_is_equal() and friends instead of memcmp()Sebastian Dröge1-1/+1
2009-03-26mxf: Differentiate between UL and UUIDSebastian Dröge1-9/+4
2009-03-26mxf: Source files and #include cleanupSebastian Dröge1-2/+1
2009-03-21mxfdemux: Error out directly if pushing a packet downstream failedSebastian Dröge1-1/+1
2009-03-18mxfdemux: Fix build on GLib < 2.16 some moreJan Schmidt1-17/+26
2009-03-16mxf: Replace g_hash_table_get_values with code working with glib 2.6.Zaheer Merali1-5/+10
Fixes #575565
2009-03-06mxfdemux: Store and use the seqnum of the currently running segment everywhereSebastian Dröge1-25/+85
2009-02-21mxfdemux: Add read-only property to get the structural metadataSebastian Dröge1-1/+24
2009-02-21mxfdemux: Post structural metadata tree as tag on the busSebastian Dröge1-1/+11
This will later be used to keep the structural metadata when remuxing an MXF file and can also be used in Pitivi for example to know the file structure and to select what should be used and played.
2009-02-21mxfdemux: Only store the main descriptor in source packagesSebastian Dröge1-2/+2
For the tracks we still resolve the descriptors but the source package only contains the descriptor it really references instead of all subdescriptors of multiple descriptors. This makes it easier later to serialize the structural metadata again.
2009-02-21mxfdemux: Set free'd memory to NULL to prevent a double free later in some casesSebastian Dröge1-0/+1
2009-02-21mxfdemux: Don't use generic metadata parsers for unknown metadata, the ↵Sebastian Dröge1-2/+3
results are useless anyway
2009-02-12mxfdemux: Also include the picture/sound/data essence coding in the unknown capsSebastian Dröge1-3/+31
2009-02-12mxfdemux: Update TODO, we should support the drop-frame property of timecode ↵Sebastian Dröge1-0/+1
tracks
2009-02-12mxfdemux: Update TODOSebastian Dröge1-2/+0
2009-02-09mxfdemux: After pulling the footer metadata reset essence track positions to 0Sebastian Dröge1-0/+14
2009-02-09mxfdemux: When trying to find an essence track position try to find ↵Sebastian Dröge1-8/+8
position+1 too By searching for the following position we will add the complete generic container (i.e. all tracks) at the same position to the index which should make finding positions for more than one track a bit faster.
2009-02-09mxfdemux: For new essence tracks only set the position to 0 if it starts in ↵Sebastian Dröge1-0/+6
the current partition
2009-02-09mxfdemux: Check if the length of the src/essence track arrays are 0, not the ↵Sebastian Dröge1-59/+33
array itself
2009-02-09mxfdemux: Make sure that the srcpad and essence track arrays always existSebastian Dröge1-19/+21
2009-02-09mxfdemux: Change some GST_ERRORs to something less criticalSebastian Dröge1-2/+2
2009-02-09mxfdemux: Only go into EOS and send segment-done after all tracks are finishedSebastian Dröge1-2/+16
2009-02-09mxfdemux: Update TODOSebastian Dröge1-1/+1
2009-02-09mxfdemux: Fix seeking to the end of fileSebastian Dröge1-17/+11
When seeking to a position where no new offset can be found or after the end of a track don't set the EOS flag to TRUE as we don't (and can't) push EOS downstream then. Instead set the current essence track position to then end of the essence track and let the loop or chain function set everything to EOS and push EOS downstream. Also restart the pad's task if resolving metadata failed (playback will continue as before) and return FALSE from the seek if no new offset could be found.
2009-02-08mxfdemux: Fix last_stop calculation when seekingSebastian Dröge1-9/+13
2009-02-08mxfdemux: Correctly implement timestamping in all casesSebastian Dröge1-21/+45
When the material package track and source package track edit rate are different the source package track edit rate applies to the stored essence and the material track edit rate only applies to the values in the track's sequence and components.
2009-02-08mxfdemux: Correctly handle DURATION queries with a negative durationSebastian Dröge1-2/+5
2009-02-08mxfdemux: When changing to the component after the last component update the ↵Sebastian Dröge1-4/+9
essence track position
2009-02-08mxfdemux: Small cleanup and an additional checkSebastian Dröge1-2/+6
Update TODO list, reduce size of a stack allocated string and don't allow essence tracks with an invalid edit rate
2009-02-07mxfdemux: Add support for non-standard Avid MXF files containing DNxHD essenceSebastian Dröge1-3/+6
Avid uses a custom essence container UL and custom essence element keys that are fortunately compatible with the generic container essence elements. Partially fixes bug #561922.
2009-02-07mxfdemux: Make essence track creation a bit more robust against broken filesSebastian Dröge1-2/+17
Some files contain multiple tracks with the same track number but different track id inside the same source package. This is invalid and we simply ignore the second and following of such traacks now instead of overwriting the information of the first one.
2009-02-06mxfdemux: For tracks with no known mapping use dummy capsSebastian Dröge1-5/+20
2009-02-06mxfdemux: Don't remove invalid new essence track twice from the GPtrArraySebastian Dröge1-2/+0
2009-02-06mxfdemux: Handle some more special cases when setting the position when seekingSebastian Dröge1-0/+13
2009-02-06mxfdemux: Adjust last_stop to the last keyframe when seekingSebastian Dröge1-3/+9
2009-02-06mxfdemux: Fix logic for finding the previous keyframeSebastian Dröge1-6/+9
2009-02-05mxfdemux: Protect the metadata with a lock against concurrent accessSebastian Dröge1-20/+60
2009-02-04Update TODOSebastian Dröge1-2/+4
2009-02-04Post an UMID tag with the current package's UMIDSebastian Dröge1-0/+5
2009-02-04Reset the current partition after seeking and NEWSEGMENT eventsSebastian Dröge1-1/+6
2009-02-04In push mode play all remaining parts of the file on EOS if there are anySebastian Dröge1-13/+72
2009-02-04Add property to set the maximum allowed time difference between tracksSebastian Dröge1-3/+18
2009-02-04Always set the current package, not only when it was changedSebastian Dröge1-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-04Try to resolve all synchronization issues, not only the firstSebastian Dröge1-35/+33
2009-02-04Remove some checks that will always be TRUESebastian Dröge1-26/+19
2009-02-02Cleanup playback package selection and notify about the current packageSebastian Dröge1-15/+21
2009-02-02Update tags properly, especially on component switchSebastian Dröge1-5/+18