Commit graph

6477 commits

Author SHA1 Message Date
Sebastian Dröge
9a1d1cb91f bpmdetect: Pass at most 2048 samples to SoundTouch's BPMDetect
Internally BPMDetect assumes that at most 2048 samples are passed
to it at once and stores those in a stack allocated static sized
array. If we pass too many samples this will result in a buffer overflow
resulting in heavy stack corruption and a crash. Fixes bug #570996.
2009-02-10 10:20:14 +01:00
Michael Smith
325c0d5d10 acmmp3dec: fix major memory leaks and clean up code.
Unref incoming buffers when we're done.
Reindent, clean up white space. Fix comments.
2009-02-09 18:02:06 -08:00
Sebastian Dröge
08aadd31dc mxfdemux: After pulling the footer metadata reset essence track positions to 0 2009-02-09 18:14:14 +01:00
Sebastian Dröge
1229f0a149 mxfdemux: When trying to find an essence track position try to find 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-09 17:55:05 +01:00
Sebastian Dröge
df0dd0b378 mxfdemux: For new essence tracks only set the position to 0 if it starts in the current partition 2009-02-09 17:48:38 +01:00
Sebastian Dröge
1ae9334355 mxfdemux: Check if the length of the src/essence track arrays are 0, not the array itself 2009-02-09 17:44:43 +01:00
Sebastian Dröge
32dc77f853 mxfdemux: Make sure that the srcpad and essence track arrays always exist 2009-02-09 17:25:35 +01:00
Sebastian Dröge
ae4b0fcb7c mxfdemux: Change some GST_ERRORs to something less critical 2009-02-09 16:40:44 +01:00
Sebastian Dröge
3f9400d968 mxfdemux: Only go into EOS and send segment-done after all tracks are finished 2009-02-09 16:40:44 +01:00
Sebastian Dröge
15c0db9c38 mxfdemux: Update TODO 2009-02-09 16:40:44 +01:00
Julien Moutte
fe54254bd9 Fix build for camerabin. 2009-02-09 15:48:20 +01:00
Edward Hervey
f4ebf3e2aa Bump revision to use for common submodule. 2009-02-09 12:02:50 +01:00
Edward Hervey
b4b10701b1 More files to ignore 2009-02-09 11:15:10 +01:00
Nokia Corporation
d92f2b89f5 tests: Add camerabin unit tests. 2009-02-09 10:22:09 +02:00
Nokia Corporation
3751eaeb79 Add camerabin element. 2009-02-09 10:22:09 +02:00
Nokia Corporation
f081d3e7b6 Add photography interface. 2009-02-09 10:22:08 +02:00
Sebastian Dröge
dc408bb28b mxfdemux: Fix seeking to the end of file
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-09 07:33:41 +01:00
Sebastian Dröge
f169201c24 mxfdemux: Fix last_stop calculation when seeking 2009-02-08 21:52:03 +01:00
Sebastian Dröge
33baa707a2 mxfdemux: Resolve source package before accessing it's members 2009-02-08 21:31:40 +01:00
Sebastian Dröge
2b566be795 mxfdemux: Correctly implement timestamping in all cases
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-08 21:23:03 +01:00
Sebastian Dröge
3cc77d4dd6 mxfdemux: Correctly handle DURATION queries with a negative duration 2009-02-08 21:22:17 +01:00
Sebastian Dröge
81fb90748f mxfdemux: When changing to the component after the last component update the essence track position 2009-02-08 21:17:11 +01:00
Sebastian Dröge
c33678dab3 mxfdemux: Small cleanup and an additional check
Update TODO list, reduce size of a stack allocated string
and don't allow essence tracks with an invalid edit rate
2009-02-08 21:12:21 +01:00
Sebastian Dröge
658066d085 mxfdemux: For material packages make sure that tracks resolve to source tracks 2009-02-08 07:33:33 +01:00
Sebastian Dröge
8dc9f2ea4d mxfdemux: Add support for non-standard Avid MXF files containing DNxHD essence
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-07 10:38:26 +01:00
Sebastian Dröge
3c3dff6869 mxfdemux: Make essence track creation a bit more robust against broken files
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-07 10:13:54 +01:00
Sebastian Dröge
410681f8b5 mxfdemux: Don't include multiple descriptors in the track's descriptors 2009-02-07 10:03:24 +01:00
Sebastian Dröge
6e392318c0 mxfdemux: Add support for non-standard Avid MXF files containing DV essence
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-07 09:27:13 +01:00
Sebastian Dröge
1822dc99d3 mxfdemux: Add data definition for Avid vendor specific picture essence 2009-02-06 11:57:46 +01:00
Sebastian Dröge
86088f92be mxfdemux: For tracks with no known mapping use dummy caps 2009-02-06 11:55:45 +01:00
Sebastian Dröge
6eef7983fb mxfdemux: Don't remove invalid new essence track twice from the GPtrArray 2009-02-06 11:21:00 +01:00
Sebastian Dröge
f529a4c6b3 mxfdemux: Implement keyframe detection for MPEG4 video streams 2009-02-06 11:09:11 +01:00
Sebastian Dröge
0d8099685d mxfdemux: Handle some more special cases when setting the position when seeking 2009-02-06 10:46:47 +01:00
Sebastian Dröge
bb11522f1d mxfdemux: Adjust last_stop to the last keyframe when seeking 2009-02-06 10:46:09 +01:00
Sebastian Dröge
22cb259f19 mxfdemux: Fix logic for finding the previous keyframe 2009-02-06 10:06:59 +01:00
Sebastian Dröge
6208795598 mxfdemux: Add keyframe detection for MPEG2 video streams
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-06 09:53:13 +01:00
Sebastian Dröge
c9f6a8b586 mxfdemux: Protect the metadata with a lock against concurrent access 2009-02-05 21:29:29 +01:00
Sebastian Dröge
4a23c7e912 Random cleanup and smaller bugfixes
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-05 17:52:38 +01:00
Sebastian Dröge
aba72fcce9 Use GST_VIDEO_CAPS_RGB for the template caps 2009-02-05 17:52:38 +01:00
Sebastian Dröge
a0e06b965a Fix compiler warnings 2009-02-05 17:52:38 +01:00
Benjamin Schmitz
0bc20cb186 Add assrender plugin for rendering ASS/SSA subtitles
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-05 17:52:38 +01:00
Edward Hervey
3af671425b metadata test: Fix wrong looping variable. Test is now valid (but fails).
The inner looping was using the outer looping variable.
2009-02-05 10:50:27 +01:00
Michael Smith
96cd20f841 Fix up things that the indent thingy complained about 2009-02-04 18:11:03 -08:00
Michael Smith
dfa2c64bb8 Fix major leaks in qtwrapper audio decoders.
Free the decoder component and audiobufferlist when caps change, or when
disposing element.
2009-02-04 18:09:58 -08:00
Michael Smith
2e401cc71d Handle many more edge cases in dshowvideosink.
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-04 17:50:51 -08:00
Josep Torra
e3fcf51e2c mpegpsdemux: fixes clossing segment generation.
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-04 22:50:30 +01:00
Josep Torra
f44b64ce92 mpegpsdemux: several fixes on the seeking function in pul mode.
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-04 22:17:36 +01:00
Josep Torra
77bc3a162c Moved var declarations to the begin of function 2009-02-04 16:20:40 +01:00
Josep Torra
b7198258f2 Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-bad 2009-02-04 16:18:27 +01:00
Josep Torra
5d1abdbe2c Improved seeking in pull mode. Some refactoring and small fixes 2009-02-04 16:11:23 +01:00