platform/upstream/gstreamer.git
15 years agocamerabin: Fix plugin details to use GST_PACKAGE_* values.
René Stadler [Tue, 10 Feb 2009 22:19:22 +0000 (00:19 +0200)]
camerabin: Fix plugin details to use GST_PACKAGE_* values.

15 years agoaacparse: Fix license specified in plugin details.
René Stadler [Tue, 10 Feb 2009 22:15:43 +0000 (00:15 +0200)]
aacparse: Fix license specified in plugin details.

15 years agodshowdecwrapper: Pass pixel aspect through from demuxers, if supplied.
Michael Smith [Tue, 10 Feb 2009 20:28:58 +0000 (12:28 -0800)]
dshowdecwrapper: Pass pixel aspect through from demuxers, if supplied.

If the incoming caps have a pixel-aspect-ratio, ensure it's set on the
output. Corrects PAR for many (but probably not all) files.

15 years agodshowdecwrapper: Make audio decoders have SECONDARY rank.
Michael Smith [Tue, 10 Feb 2009 20:26:25 +0000 (12:26 -0800)]
dshowdecwrapper: Make audio decoders have SECONDARY rank.

These wrappers are not ideal, and for many of these formats there are
better gstreamer elements available. So, make the rank SECONDARY. In
particular, the mp3 decoder on winXP doesn't work very well.

15 years agodshowdecwrapper: Delete old .c files that are unused
Michael Smith [Tue, 10 Feb 2009 20:12:03 +0000 (12:12 -0800)]
dshowdecwrapper: Delete old .c files that are unused

These old files are stale; the plugin was rewritten in c++ ages
ago. Not sure why these are hanging around.

15 years agobpmdetect: Pass at most 2048 samples to SoundTouch's BPMDetect
Sebastian Dröge [Tue, 10 Feb 2009 09:17:43 +0000 (10:17 +0100)]
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.

15 years agoacmmp3dec: fix major memory leaks and clean up code.
Michael Smith [Tue, 10 Feb 2009 01:58:42 +0000 (17:58 -0800)]
acmmp3dec: fix major memory leaks and clean up code.

Unref incoming buffers when we're done.
Reindent, clean up white space. Fix comments.

15 years agomxfdemux: After pulling the footer metadata reset essence track positions to 0
Sebastian Dröge [Mon, 9 Feb 2009 17:14:14 +0000 (18:14 +0100)]
mxfdemux: After pulling the footer metadata reset essence track positions to 0

15 years agomxfdemux: When trying to find an essence track position try to find position+1 too
Sebastian Dröge [Mon, 9 Feb 2009 16:55:05 +0000 (17:55 +0100)]
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.

15 years agomxfdemux: For new essence tracks only set the position to 0 if it starts in the curre...
Sebastian Dröge [Mon, 9 Feb 2009 16:48:38 +0000 (17:48 +0100)]
mxfdemux: For new essence tracks only set the position to 0 if it starts in the current partition

15 years agomxfdemux: Check if the length of the src/essence track arrays are 0, not the array...
Sebastian Dröge [Mon, 9 Feb 2009 16:44:43 +0000 (17:44 +0100)]
mxfdemux: Check if the length of the src/essence track arrays are 0, not the array itself

15 years agomxfdemux: Make sure that the srcpad and essence track arrays always exist
Sebastian Dröge [Mon, 9 Feb 2009 16:25:35 +0000 (17:25 +0100)]
mxfdemux: Make sure that the srcpad and essence track arrays always exist

15 years agomxfdemux: Change some GST_ERRORs to something less critical
Sebastian Dröge [Mon, 9 Feb 2009 15:12:51 +0000 (16:12 +0100)]
mxfdemux: Change some GST_ERRORs to something less critical

15 years agomxfdemux: Only go into EOS and send segment-done after all tracks are finished
Sebastian Dröge [Mon, 9 Feb 2009 15:09:22 +0000 (16:09 +0100)]
mxfdemux: Only go into EOS and send segment-done after all tracks are finished

15 years agomxfdemux: Update TODO
Sebastian Dröge [Mon, 9 Feb 2009 15:09:12 +0000 (16:09 +0100)]
mxfdemux: Update TODO

15 years agoFix build for camerabin.
Julien Moutte [Mon, 9 Feb 2009 14:48:20 +0000 (15:48 +0100)]
Fix build for camerabin.

15 years agoBump revision to use for common submodule.
Edward Hervey [Mon, 9 Feb 2009 11:02:50 +0000 (12:02 +0100)]
Bump revision to use for common submodule.

15 years agoMore files to ignore
Edward Hervey [Fri, 30 Jan 2009 15:09:30 +0000 (16:09 +0100)]
More files to ignore

15 years agotests: Add camerabin unit tests.
Nokia Corporation [Thu, 5 Feb 2009 21:06:23 +0000 (23:06 +0200)]
tests: Add camerabin unit tests.

15 years agoAdd camerabin element.
Nokia Corporation [Thu, 5 Feb 2009 13:48:32 +0000 (15:48 +0200)]
Add camerabin element.

15 years agoAdd photography interface.
Nokia Corporation [Fri, 6 Feb 2009 10:06:23 +0000 (12:06 +0200)]
Add photography interface.

15 years agomxfdemux: Fix seeking to the end of file
Sebastian Dröge [Mon, 9 Feb 2009 06:33:41 +0000 (07:33 +0100)]
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.

15 years agomxfdemux: Fix last_stop calculation when seeking
Sebastian Dröge [Sun, 8 Feb 2009 20:52:03 +0000 (21:52 +0100)]
mxfdemux: Fix last_stop calculation when seeking

15 years agomxfdemux: Resolve source package before accessing it's members
Sebastian Dröge [Sun, 8 Feb 2009 20:31:40 +0000 (21:31 +0100)]
mxfdemux: Resolve source package before accessing it's members

15 years agomxfdemux: Correctly implement timestamping in all cases
Sebastian Dröge [Sun, 8 Feb 2009 20:23:03 +0000 (21:23 +0100)]
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.

15 years agomxfdemux: Correctly handle DURATION queries with a negative duration
Sebastian Dröge [Sun, 8 Feb 2009 20:22:17 +0000 (21:22 +0100)]
mxfdemux: Correctly handle DURATION queries with a negative duration

15 years agomxfdemux: When changing to the component after the last component update the essence...
Sebastian Dröge [Sun, 8 Feb 2009 20:17:11 +0000 (21:17 +0100)]
mxfdemux: When changing to the component after the last component update the essence track position

15 years agomxfdemux: Small cleanup and an additional check
Sebastian Dröge [Sun, 8 Feb 2009 20:12:21 +0000 (21:12 +0100)]
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

15 years agomxfdemux: For material packages make sure that tracks resolve to source tracks
Sebastian Dröge [Sun, 8 Feb 2009 06:30:48 +0000 (07:30 +0100)]
mxfdemux: For material packages make sure that tracks resolve to source tracks

15 years agomxfdemux: Add support for non-standard Avid MXF files containing DNxHD essence
Sebastian Dröge [Sat, 7 Feb 2009 09:38:26 +0000 (10:38 +0100)]
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.

15 years agomxfdemux: Make essence track creation a bit more robust against broken files
Sebastian Dröge [Sat, 7 Feb 2009 09:13:54 +0000 (10:13 +0100)]
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.

15 years agomxfdemux: Don't include multiple descriptors in the track's descriptors
Sebastian Dröge [Sat, 7 Feb 2009 09:03:24 +0000 (10:03 +0100)]
mxfdemux: Don't include multiple descriptors in the track's descriptors

15 years agomxfdemux: Add support for non-standard Avid MXF files containing DV essence
Sebastian Dröge [Sat, 7 Feb 2009 08:27:13 +0000 (09:27 +0100)]
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.

15 years agomxfdemux: Add data definition for Avid vendor specific picture essence
Sebastian Dröge [Fri, 6 Feb 2009 10:57:46 +0000 (11:57 +0100)]
mxfdemux: Add data definition for Avid vendor specific picture essence

15 years agomxfdemux: For tracks with no known mapping use dummy caps
Sebastian Dröge [Fri, 6 Feb 2009 10:55:45 +0000 (11:55 +0100)]
mxfdemux: For tracks with no known mapping use dummy caps

15 years agomxfdemux: Don't remove invalid new essence track twice from the GPtrArray
Sebastian Dröge [Fri, 6 Feb 2009 10:21:00 +0000 (11:21 +0100)]
mxfdemux: Don't remove invalid new essence track twice from the GPtrArray

15 years agomxfdemux: Implement keyframe detection for MPEG4 video streams
Sebastian Dröge [Fri, 6 Feb 2009 10:09:11 +0000 (11:09 +0100)]
mxfdemux: Implement keyframe detection for MPEG4 video streams

15 years agomxfdemux: Handle some more special cases when setting the position when seeking
Sebastian Dröge [Fri, 6 Feb 2009 09:46:47 +0000 (10:46 +0100)]
mxfdemux: Handle some more special cases when setting the position when seeking

15 years agomxfdemux: Adjust last_stop to the last keyframe when seeking
Sebastian Dröge [Fri, 6 Feb 2009 09:46:09 +0000 (10:46 +0100)]
mxfdemux: Adjust last_stop to the last keyframe when seeking

15 years agomxfdemux: Fix logic for finding the previous keyframe
Sebastian Dröge [Fri, 6 Feb 2009 09:06:59 +0000 (10:06 +0100)]
mxfdemux: Fix logic for finding the previous keyframe

15 years agomxfdemux: Add keyframe detection for MPEG2 video streams
Sebastian Dröge [Fri, 6 Feb 2009 08:53:13 +0000 (09:53 +0100)]
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.

15 years agomxfdemux: Protect the metadata with a lock against concurrent access
Sebastian Dröge [Thu, 5 Feb 2009 20:29:29 +0000 (21:29 +0100)]
mxfdemux: Protect the metadata with a lock against concurrent access

15 years agoRandom cleanup and smaller bugfixes
Sebastian Dröge [Thu, 5 Feb 2009 16:42:37 +0000 (17:42 +0100)]
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.

15 years agoUse GST_VIDEO_CAPS_RGB for the template caps
Sebastian Dröge [Thu, 5 Feb 2009 16:00:30 +0000 (17:00 +0100)]
Use GST_VIDEO_CAPS_RGB for the template caps

15 years agoFix compiler warnings
Sebastian Dröge [Thu, 5 Feb 2009 15:57:55 +0000 (16:57 +0100)]
Fix compiler warnings

15 years agoAdd assrender plugin for rendering ASS/SSA subtitles
Benjamin Schmitz [Thu, 5 Feb 2009 15:54:01 +0000 (16:54 +0100)]
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.

15 years agometadata test: Fix wrong looping variable. Test is now valid (but fails).
Edward Hervey [Thu, 5 Feb 2009 09:50:27 +0000 (10:50 +0100)]
metadata test: Fix wrong looping variable. Test is now valid (but fails).

The inner looping was using the outer looping variable.

15 years agoFix up things that the indent thingy complained about
Michael Smith [Thu, 5 Feb 2009 02:11:03 +0000 (18:11 -0800)]
Fix up things that the indent thingy complained about

15 years agoFix major leaks in qtwrapper audio decoders.
Michael Smith [Thu, 5 Feb 2009 02:09:58 +0000 (18:09 -0800)]
Fix major leaks in qtwrapper audio decoders.

Free the decoder component and audiobufferlist when caps change, or when
disposing element.

15 years agoHandle many more edge cases in dshowvideosink.
Michael Smith [Thu, 5 Feb 2009 01:50:51 +0000 (17:50 -0800)]
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.

15 years agompegpsdemux: fixes clossing segment generation.
Josep Torra [Wed, 4 Feb 2009 21:50:30 +0000 (22:50 +0100)]
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.

15 years agompegpsdemux: several fixes on the seeking function in pul mode.
Josep Torra [Wed, 4 Feb 2009 21:17:36 +0000 (22:17 +0100)]
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.

15 years agoMoved var declarations to the begin of function
Josep Torra [Wed, 4 Feb 2009 15:20:40 +0000 (16:20 +0100)]
Moved var declarations to the begin of function

15 years agoMerge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-bad
Josep Torra [Wed, 4 Feb 2009 15:18:27 +0000 (16:18 +0100)]
Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-bad

15 years agoImproved seeking in pull mode. Some refactoring and small fixes
Josep Torra [Wed, 4 Feb 2009 15:11:23 +0000 (16:11 +0100)]
Improved seeking in pull mode. Some refactoring and small fixes

15 years agoUpdate TODO
Sebastian Dröge [Wed, 4 Feb 2009 10:11:31 +0000 (11:11 +0100)]
Update TODO

15 years agoPost an UMID tag with the current package's UMID
Sebastian Dröge [Wed, 4 Feb 2009 10:09:26 +0000 (11:09 +0100)]
Post an UMID tag with the current package's UMID

15 years agoReset the current partition after seeking and NEWSEGMENT events
Sebastian Dröge [Wed, 4 Feb 2009 09:59:53 +0000 (10:59 +0100)]
Reset the current partition after seeking and NEWSEGMENT events

15 years agoIn push mode play all remaining parts of the file on EOS if there are any
Sebastian Dröge [Wed, 4 Feb 2009 09:53:52 +0000 (10:53 +0100)]
In push mode play all remaining parts of the file on EOS if there are any

15 years agoAdd property to set the maximum allowed time difference between tracks
Sebastian Dröge [Wed, 4 Feb 2009 09:37:20 +0000 (10:37 +0100)]
Add property to set the maximum allowed time difference between tracks

15 years agoAlways set the current package, not only when it was changed
Sebastian Dröge [Wed, 4 Feb 2009 09:27:03 +0000 (10:27 +0100)]
Always set the current package, not only when it was changed

This is necessary as the current package link will be set to NULL
when updated metadata is parsed and should be set here again.

15 years agoTry to resolve all synchronization issues, not only the first
Sebastian Dröge [Wed, 4 Feb 2009 09:19:51 +0000 (10:19 +0100)]
Try to resolve all synchronization issues, not only the first

15 years agoRemove some checks that will always be TRUE
Sebastian Dröge [Tue, 3 Feb 2009 16:47:10 +0000 (17:47 +0100)]
Remove some checks that will always be TRUE

15 years agoconfigure.ac: bump core/base requirements to released versions
Tim-Philipp Müller [Tue, 3 Feb 2009 22:27:33 +0000 (22:27 +0000)]
configure.ac: bump core/base requirements to released versions

15 years agoAlso flush parser when a newsegment is received. Fixes loop in reverse mode.
Josep Torra [Mon, 2 Feb 2009 22:29:24 +0000 (23:29 +0100)]
Also flush parser when a newsegment is received. Fixes loop in reverse mode.

15 years agoAdd pull mode to mpegpsdemux and report duration reading first and last PTS. Some...
Josep Torra [Mon, 2 Feb 2009 22:12:07 +0000 (23:12 +0100)]
Add pull mode to mpegpsdemux and report duration reading first and last PTS. Some random cleanups.

15 years agoCleanup playback package selection and notify about the current package
Sebastian Dröge [Mon, 2 Feb 2009 16:44:33 +0000 (17:44 +0100)]
Cleanup playback package selection and notify about the current package

15 years agoUpdate tags properly, especially on component switch
Sebastian Dröge [Mon, 2 Feb 2009 15:23:30 +0000 (16:23 +0100)]
Update tags properly, especially on component switch

15 years agoError out if no pads could be created
Sebastian Dröge [Mon, 2 Feb 2009 15:05:14 +0000 (16:05 +0100)]
Error out if no pads could be created

15 years agoResolve metadata and update tracks if necessary before seeking
Sebastian Dröge [Mon, 2 Feb 2009 14:54:23 +0000 (15:54 +0100)]
Resolve metadata and update tracks if necessary before seeking

15 years agoDon't go after the last component of a track
Sebastian Dröge [Mon, 2 Feb 2009 14:54:00 +0000 (15:54 +0100)]
Don't go after the last component of a track

15 years agoReturn an error if updating an already existing pad fails
Sebastian Dröge [Mon, 2 Feb 2009 14:53:32 +0000 (15:53 +0100)]
Return an error if updating an already existing pad fails

15 years agoFix seeking if the source clip duration is unknown
Sebastian Dröge [Mon, 2 Feb 2009 06:44:12 +0000 (07:44 +0100)]
Fix seeking if the source clip duration is unknown

15 years agoAdd initial support for seeking in push mode
Sebastian Dröge [Sun, 1 Feb 2009 15:59:25 +0000 (16:59 +0100)]
Add initial support for seeking in push mode

15 years agoFix deadlocks when seeking in pull mode failed and check new offset before using it
Sebastian Dröge [Sun, 1 Feb 2009 15:58:51 +0000 (16:58 +0100)]
Fix deadlocks when seeking in pull mode failed and check new offset before using it

15 years agoUpdate offset in push mode and handle events properly
Sebastian Dröge [Sun, 1 Feb 2009 15:58:01 +0000 (16:58 +0100)]
Update offset in push mode and handle events properly

15 years agoImplement initial seeking support (pull mode only)
Sebastian Dröge [Sun, 1 Feb 2009 14:07:09 +0000 (15:07 +0100)]
Implement initial seeking support (pull mode only)

15 years agoDon't use GLib 2.16 API unconditionally
Sebastian Dröge [Sat, 31 Jan 2009 10:29:20 +0000 (11:29 +0100)]
Don't use GLib 2.16 API unconditionally

15 years agoCheck for EOS on all pads after adjusting the essence track durations
Sebastian Dröge [Fri, 30 Jan 2009 18:52:59 +0000 (19:52 +0100)]
Check for EOS on all pads after adjusting the essence track durations

15 years agoFix duration calculation for essence tracks
Sebastian Dröge [Fri, 30 Jan 2009 18:33:56 +0000 (19:33 +0100)]
Fix duration calculation for essence tracks

15 years agoImplement GstElement::query/get_query_types vfuncs
Sebastian Dröge [Fri, 30 Jan 2009 14:50:16 +0000 (15:50 +0100)]
Implement GstElement::query/get_query_types vfuncs

15 years agoReset all internal state in finalize
Sebastian Dröge [Fri, 30 Jan 2009 14:34:10 +0000 (15:34 +0100)]
Reset all internal state in finalize

15 years agoImprove EOS detection and fix push mode for the last pushed in buffer
Sebastian Dröge [Thu, 29 Jan 2009 19:27:28 +0000 (20:27 +0100)]
Improve EOS detection and fix push mode for the last pushed in buffer

15 years agoKeep track of essence track position when playing source packages
Sebastian Dröge [Thu, 29 Jan 2009 18:58:50 +0000 (19:58 +0100)]
Keep track of essence track position when playing source packages

This ensures that the correct essence elements are played and
that we seek to the correct essence elements.

15 years agoCompensate for timestamp/duration rounding errors
Sebastian Dröge [Thu, 29 Jan 2009 18:42:09 +0000 (19:42 +0100)]
Compensate for timestamp/duration rounding errors

15 years agoImprove EOS logic to check all pads when pulling a packet returned EOS
Sebastian Dröge [Thu, 29 Jan 2009 14:56:08 +0000 (15:56 +0100)]
Improve EOS logic to check all pads when pulling a packet returned EOS

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.

15 years agoOnly push buffers for pads that are not more than 500ms before other pads
Sebastian Dröge [Thu, 29 Jan 2009 14:55:44 +0000 (15:55 +0100)]
Only push buffers for pads that are not more than 500ms before other pads

15 years agoImprove EOS logic to only go into EOS after all tracks are finished
Sebastian Dröge [Thu, 29 Jan 2009 14:39:40 +0000 (15:39 +0100)]
Improve EOS logic to only go into EOS after all tracks are finished

15 years agoUpdate TODO list
Sebastian Dröge [Wed, 28 Jan 2009 16:34:57 +0000 (17:34 +0100)]
Update TODO list

15 years agoTry to keep the timestamp difference between tracks lower than 500ms
Sebastian Dröge [Wed, 28 Jan 2009 15:39:30 +0000 (16:39 +0100)]
Try to keep the timestamp difference between tracks lower than 500ms

15 years agoFix playback of atom files
Sebastian Dröge [Tue, 27 Jan 2009 14:36:53 +0000 (15:36 +0100)]
Fix playback of atom files

15 years agoKeep track of current playback position
Sebastian Dröge [Tue, 27 Jan 2009 14:27:45 +0000 (15:27 +0100)]
Keep track of current playback position

15 years agoSet essence track positions to 0 if we're at the start partition
Sebastian Dröge [Tue, 27 Jan 2009 13:38:30 +0000 (14:38 +0100)]
Set essence track positions to 0 if we're at the start partition

15 years agoGenerate an index table for essence streams
Sebastian Dröge [Tue, 27 Jan 2009 13:25:26 +0000 (14:25 +0100)]
Generate an index table for essence streams

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.

15 years agoDon't complain if the preface has no primary package set
Sebastian Dröge [Tue, 27 Jan 2009 13:23:03 +0000 (14:23 +0100)]
Don't complain if the preface has no primary package set

15 years agoAllow index table segments without primer pack
Sebastian Dröge [Mon, 26 Jan 2009 15:23:38 +0000 (16:23 +0100)]
Allow index table segments without primer pack

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.

15 years agoAdd essence track abstraction
Sebastian Dröge [Mon, 26 Jan 2009 15:20:34 +0000 (16:20 +0100)]
Add essence track abstraction

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.

15 years agoFix parsing of index table segments
Sebastian Dröge [Mon, 26 Jan 2009 13:47:31 +0000 (14:47 +0100)]
Fix parsing of index table segments

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.

15 years agoImprove detection of the end of the header metadata
Sebastian Dröge [Mon, 26 Jan 2009 13:33:02 +0000 (14:33 +0100)]
Improve detection of the end of the header metadata

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.

15 years agoUnref event if we don't forward it, unref pads when done with them.
Michael Smith [Sat, 31 Jan 2009 02:27:03 +0000 (18:27 -0800)]
Unref event if we don't forward it, unref pads when done with them.