summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
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: Resolve source package before accessing it's membersSebastian Dröge1-0/+7
2009-02-08mxfdemux: Correctly implement timestamping in all casesSebastian Dröge2-21/+46
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-08mxfdemux: For material packages make sure that tracks resolve to source tracksSebastian Dröge1-2/+44
2009-02-07mxfdemux: Add support for non-standard Avid MXF files containing DNxHD essenceSebastian Dröge4-4/+36
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öge2-2/+20
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-07mxfdemux: Don't include multiple descriptors in the track's descriptorsSebastian Dröge1-2/+4
2009-02-07mxfdemux: Add support for non-standard Avid MXF files containing DV essenceSebastian Dröge3-28/+36
Avid usually uses a custom essence container label for the essence descriptors and stores the actual codec that is used inside the picture essence coding field (and for sound probably in the sound essence coding field but I have no sample files with sound). Partially fixes bug #561922.
2009-02-06mxfdemux: Add data definition for Avid vendor specific picture essenceSebastian Dröge1-1/+5
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: Implement keyframe detection for MPEG4 video streamsSebastian Dröge1-0/+45
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-06mxfdemux: Add keyframe detection for MPEG2 video streamsSebastian Dröge3-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-05mxfdemux: Protect the metadata with a lock against concurrent accessSebastian Dröge2-21/+62
2009-02-05Random cleanup and smaller bugfixesSebastian Dröge2-72/+54
Use gst_element_klass_set_details_simple(), install properties with static strings, create pads directly from the static pad templates, directly put the segment into the instance struct, use GST_MSECOND instead of numbers. The PAR is a GstFraction and not a double, use gst_structure_get_fraction(). Simplify setcaps() functions.
2009-02-05Use GST_VIDEO_CAPS_RGB for the template capsSebastian Dröge2-4/+6
2009-02-05Fix compiler warningsSebastian Dröge1-6/+12
2009-02-05Add assrender plugin for rendering ASS/SSA subtitlesBenjamin Schmitz5-0/+834
This element has the advantage over subparse's ASS/SSA support that more features are supported, like fading, by using libass. Fixes bug #481075.
2009-02-05metadata test: Fix wrong looping variable. Test is now valid (but fails).Edward Hervey1-1/+1
The inner looping was using the outer looping variable.
2009-02-04Fix up things that the indent thingy complained aboutMichael Smith1-4/+6
2009-02-04Fix major leaks in qtwrapper audio decoders.Michael Smith1-2/+36
Free the decoder component and audiobufferlist when caps change, or when disposing element.
2009-02-04Handle many more edge cases in dshowvideosink.Michael Smith4-1833/+2045
Instrument various codepaths with debug messages. Handle (as best as I could see how - it's pretty nasty) moving a video window to another monitor. Add listening for directshow events.
2009-02-04mpegpsdemux: fixes clossing segment generation.Josep Torra2-26/+56
Ensure that the clossing segment is generated correctly and being properly pushed. Added some GST_DEBUG to check it. Ensure that last_stop is updated in stream time. Calculate duration as delta of PTS as it seems more correct than delta of SCR in some clips that I tested.
2009-02-04mpegpsdemux: several fixes on the seeking function in pul mode.Josep Torra1-8/+9
Removed a line wrongly copy pasted in my previous commit. Avoid an unsigned integer overflow. Seek last_stop in stream time. Clamp last_stop in stream time between first and last SCR. Fixed a typo in the GST_DEBUG line and added some more info.
2009-02-04Moved var declarations to the begin of functionJosep Torra1-4/+8
2009-02-04Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-badJosep Torra5-82/+172
2009-02-04Improved seeking in pull mode. Some refactoring and small fixesJosep Torra2-56/+127
2009-02-04Update TODOSebastian Dröge1-2/+4
2009-02-04Post an UMID tag with the current package's UMIDSebastian Dröge3-0/+15
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öge2-3/+21
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-03configure.ac: bump core/base requirements to released versionsTim-Philipp Müller1-2/+2
2009-02-02Also flush parser when a newsegment is received. Fixes loop in reverse mode.Josep Torra1-0/+2
2009-02-02Add pull mode to mpegpsdemux and report duration reading first and last PTS. ↵Josep Torra4-142/+898
Some random cleanups.
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
2009-02-02Error out if no pads could be createdSebastian Dröge1-0/+3
2009-02-02Resolve metadata and update tracks if necessary before seekingSebastian Dröge1-4/+6
2009-02-02Don't go after the last component of a trackSebastian Dröge1-0/+1