Mark Nauwelaerts [Thu, 28 Oct 2010 14:46:48 +0000 (16:46 +0200)]
qtdemux: fragmented support; code cleanups and optimizations in atom parsing
Avoid extra allocation in _parse_trun, add more checks for parsing errors,
add or adjust some debug statement, fix comments, sprinkle some branch
prediction.
Thiago Santos [Tue, 14 Sep 2010 02:19:44 +0000 (23:19 -0300)]
qtdemux: parse_moof should return TRUE on success
Thiago Santos [Sat, 11 Sep 2010 01:41:03 +0000 (22:41 -0300)]
qtdemux: Fix iteration bug
Avoid infinite loop when iterating traf
Thiago Santos [Sat, 11 Sep 2010 00:32:26 +0000 (21:32 -0300)]
qtdemux: Refactor trun parsing
The allocation of the samples can be placed out of the loop.
Makes the code clearer.
Also avoid relying on traf information as it is placed on the
end of the file and might not be acessible on push mode.
Thiago Santos [Fri, 10 Sep 2010 03:29:26 +0000 (00:29 -0300)]
qtdemux: Remove parsing of unused atom
sdtp atom is parsed but not used, so we don't have to
parse it.
Mark Nauwelaerts [Tue, 9 Nov 2010 10:45:00 +0000 (11:45 +0100)]
qtdemux: tweak wam support
... with some comment and portability macros.
Marc-André Lureau [Wed, 23 Sep 2009 16:47:42 +0000 (18:47 +0200)]
qtdemux: support wma & vc-1
https://bugzilla.gnome.org/show_bug.cgi?id=596321
Andoni Morales Alastruey [Thu, 11 Mar 2010 08:56:04 +0000 (09:56 +0100)]
qtdemux: parse fmp4 samples information
The fragmented mp4 format stores the tracks and samples information in the
'moof' boxes, which are appended before each fragment (fragment->'moof'+'mdat').
The 'mfra' box stores the offset of each 'moof' box and their presentation
time. The location of this box can be retrieved from the 'mfro' box, which is
located at the end of the file.
The 'mfra' box is parsed to get the offset of each 'moof' box and their
presentation time.
Each 'moof' box can contain information for one or more tracks inside
'tfhd' boxes. For each track in a 'moof', we have a 'trun' box, which
contains information of each sample (offset and duration) used to build
the samples table.
Based on patch by Marc-André Lureau <mlureau@flumotion.com>
https://bugzilla.gnome.org/show_bug.cgi?id=596321
Marc-André Lureau [Thu, 11 Mar 2010 14:34:49 +0000 (15:34 +0100)]
qtdemux: add fragmented mp4 fourccs
Adds fourcc's for tfra, tfhd, trun, sdtp, trex, mehd and
their dumps
https://bugzilla.gnome.org/show_bug.cgi?id=596321
Marc-André Lureau [Thu, 11 Mar 2010 09:24:56 +0000 (10:24 +0100)]
qtdemux: parse the track id from the track header
Signed-off-by: Andoni Morales Alastruey <amorales@flumotion.com>
https://bugzilla.gnome.org/show_bug.cgi?id=596321
Marc-André Lureau [Thu, 11 Mar 2010 13:10:12 +0000 (14:10 +0100)]
qtdemux: allow pulling atoms with unknown size
Signed-off-by: Andoni Morales Alastruey <amorales@flumotion.com>
https://bugzilla.gnome.org/show_bug.cgi?id=596321
Marc-André Lureau [Wed, 14 Jul 2010 18:13:55 +0000 (20:13 +0200)]
qtdemux: make qtdemux_dump_mvhd parse version 1 correctly
Versions 0 and 1 of mvhd have different sizes of its values
(32bits/64bits). This patch makes it dump them correctly.
Also use the right node in the parameter and not the root node.
https://bugzilla.gnome.org/show_bug.cgi?id=596321
Mark Nauwelaerts [Fri, 19 Nov 2010 11:45:00 +0000 (12:45 +0100)]
matroskademux: minor cleanups in setting streamheader on caps
Mark Nauwelaerts [Tue, 2 Nov 2010 16:04:04 +0000 (17:04 +0100)]
matroskademux: normalize empty Cues to no Cues
... to trigger indexless seeking.
Mark Nauwelaerts [Tue, 26 Oct 2010 09:15:49 +0000 (11:15 +0200)]
avidemux: add workaround for buggy list size
Fixes truncated extra-data in hdrl/strl/strf due to buggy containing
list size not accounting for padding in contained chunks.
Mark Nauwelaerts [Thu, 2 Dec 2010 15:11:01 +0000 (16:11 +0100)]
rtpssrcdemux: do not hold custom PAD_LOCK when pushing downstream
Mark Nauwelaerts [Thu, 2 Dec 2010 15:10:14 +0000 (16:10 +0100)]
rtspsrc: reset session manager base time when flushing
... as rtpbin uses running time to handle rtpjitterbuffer's buffer mode pauses.
Mark Nauwelaerts [Wed, 1 Dec 2010 15:51:33 +0000 (16:51 +0100)]
rtspsrc: include range request for all streams with non-aggregate control
Mark Nauwelaerts [Thu, 7 Oct 2010 12:50:53 +0000 (14:50 +0200)]
rtspsrc: fix debug statement
Edward Hervey [Fri, 3 Dec 2010 14:38:00 +0000 (15:38 +0100)]
avidemux: Parse more variants of numerical IDIT tag
Edward Hervey [Fri, 7 May 2010 15:30:30 +0000 (17:30 +0200)]
pngenc: Use proper framerate range in caps
Edward Hervey [Fri, 3 Dec 2010 14:04:26 +0000 (15:04 +0100)]
tests: Fix previously unbuildable/untested wavenc test
Edward Hervey [Sun, 24 Oct 2010 13:21:08 +0000 (15:21 +0200)]
flvdemux: Refactor tag pushing logic
The logic of when to push was wrong also (resulting in some tags never
being pushed).
Edward Hervey [Sun, 24 Oct 2010 13:20:27 +0000 (15:20 +0200)]
flvdemux: Use pbutils for codec descriptions
Edward Hervey [Tue, 13 Apr 2010 09:29:30 +0000 (11:29 +0200)]
check: Use fail_unless_equals_int instead of fail_if
Makes the error message more interesting
Edward Hervey [Tue, 30 Nov 2010 18:22:11 +0000 (19:22 +0100)]
avidemux: Also extract IDIT tags present too early
https://bugzilla.gnome.org/show_bug.cgi?id=636143
Edward Hervey [Tue, 30 Nov 2010 18:21:23 +0000 (19:21 +0100)]
avidemux: Also emit DateTime tag
https://bugzilla.gnome.org/show_bug.cgi?id=636143
Tim-Philipp Müller [Fri, 3 Dec 2010 00:22:48 +0000 (00:22 +0000)]
wavparse: detect DTS advertised as PCM correctly in some more cases
The DTS typefinder may return a lower probability for frames that start
at non-zero offsets and where there's no second frame sync in the first
buffer. It's fairly unlikely that we'll acidentally identify PCM data
as DTS, so we don't do additional checks for now.
https://bugzilla.gnome.org/show_bug.cgi?id=636234
Stefan Kost [Mon, 8 Nov 2010 15:11:42 +0000 (17:11 +0200)]
tests: makefile cleanup
Fix indentation. Use $(GST_MAJORMINOR) instead of hardcoded 0.10.
Stefan Kost [Mon, 8 Nov 2010 15:02:56 +0000 (17:02 +0200)]
tests: add a test for wav muxing
Stefan Kost [Mon, 8 Nov 2010 14:57:17 +0000 (16:57 +0200)]
tests: remove newlines between variable decls (old gst-indent failure)
Stefan Kost [Mon, 8 Nov 2010 12:47:04 +0000 (14:47 +0200)]
pngdec: use png_error() as recommended by libpng docs to signal an error
Without that the element loops endlessly on broekn pngs. Fixes #634314
Thiago Santos [Tue, 16 Nov 2010 20:48:16 +0000 (17:48 -0300)]
qtdemux: Parse and use creation time tag from mvhd
Expose creation time from mvhd as a datetime tag
Fixes #634928
Andoni Morales Alastruey [Wed, 27 Oct 2010 17:15:20 +0000 (19:15 +0200)]
icydemux: Add 'StreamUrl' metadata as GST_TAG_HOMEPAGE tag
Tom Janiszewski [Sat, 23 Oct 2010 23:34:00 +0000 (19:34 -0400)]
flvmux: Fix for nellymoser codecid setting
Fixes bug #632897.
Sebastian Dröge [Thu, 21 Oct 2010 14:15:08 +0000 (16:15 +0200)]
matroskamux: Add support for E-AC3
Sebastian Dröge [Thu, 21 Oct 2010 14:14:44 +0000 (16:14 +0200)]
matroskamux: Add support for DTS
Sebastian Dröge [Sun, 31 Oct 2010 17:08:17 +0000 (18:08 +0100)]
souphttpsrc: Don't send seeks behind the end of file to the server
Also improve debug output, re-initialize the content size and let the
seek handler error out on invalid seek segments.
Fixes bug #632977.
Wim Taymans [Thu, 2 Dec 2010 16:53:42 +0000 (17:53 +0100)]
j2kpay: use SOP markers to split bitstream
When parsing the bitstream, look for SOP markers because we are allowed to split
packets on those marker boundaries.
Rework the parsing code a little so that we can pack multiple Packetization
units in one RTP packet.
Wim Taymans [Thu, 18 Nov 2010 11:49:47 +0000 (12:49 +0100)]
rtpj2kpay: use buffer lists
Use buffer lists for doing zerocopy payloading.
Add property to disable buffer lists.
Wim Taymans [Tue, 16 Nov 2010 15:54:25 +0000 (16:54 +0100)]
h264pay: small cleanups
Allocate adapter only once.
Make some guint8 * const.
Tambet Ingo [Tue, 16 Nov 2010 14:39:24 +0000 (15:39 +0100)]
rtph264pay: implement full bytestream scan mode.
Implement the full bytestream scan mode.
Fixes #634910
Wim Taymans [Mon, 15 Nov 2010 09:52:31 +0000 (10:52 +0100)]
examples: improve RTP examples
Make the examples use autovideosink and ffmpegcolorspace for better
compàtibility.
Make some more variables for the sink and the decoders.
Set zerolatency tuning on x264enc for better realtime results.
Wim Taymans [Wed, 10 Nov 2010 10:04:48 +0000 (11:04 +0100)]
rtspsrc: select multicast transports in a smarter way
When we see a multicast address in the SDP connection, only try to negotiate a
multicast transport with the server.
Fixes #634093
Tim-Philipp Müller [Thu, 2 Dec 2010 18:14:16 +0000 (18:14 +0000)]
Bump GLib requirement to implicit requirement
ie. >= 2.20 while we depend on core/base 0.10.31
Tim-Philipp Müller [Thu, 2 Dec 2010 18:13:57 +0000 (18:13 +0000)]
Back to development
Tim-Philipp Müller [Wed, 1 Dec 2010 21:15:09 +0000 (21:15 +0000)]
Release 0.10.26
David Schleef [Tue, 30 Nov 2010 23:28:50 +0000 (15:28 -0800)]
deinterlace: analyse RFF fields in correct order
Code was repeating the second field, not the first.
Fixes: #636179.
Mark Nauwelaerts [Mon, 29 Nov 2010 14:32:40 +0000 (15:32 +0100)]
rtspsrc: handle stale digest authentication session data
In particular, handle Unauthorized server response when trying to convey
keep-alive.
Fixes #635532.
Thijs Vermeir [Fri, 26 Nov 2010 14:00:29 +0000 (15:00 +0100)]
rtph264depay: fix segfault on empty payload
https://bugzilla.gnome.org/show_bug.cgi?id=635843
Tim-Philipp Müller [Thu, 18 Nov 2010 00:45:29 +0000 (00:45 +0000)]
0.10.25.5 pre-release
Tim-Philipp Müller [Thu, 18 Nov 2010 00:44:45 +0000 (00:44 +0000)]
po: update translations
Tim-Philipp Müller [Sun, 14 Nov 2010 00:18:16 +0000 (00:18 +0000)]
deinterlace: fix reference leak
Jan Schmidt [Fri, 12 Nov 2010 12:59:06 +0000 (23:59 +1100)]
deinterlace: Flush QoS and history before applying segment
When handling newsegment, flush out the buffer history in the
existing segment, not the new one. Fixes playback in some DVD
cases.
Partially fixes #633294
Tim-Philipp Müller [Fri, 12 Nov 2010 12:20:16 +0000 (12:20 +0000)]
deinterlace: improve event logging
Robert Swain [Fri, 5 Nov 2010 16:00:15 +0000 (17:00 +0100)]
deinterlace: Implement field history flushing
In a number of cases it is necessary to flush the field history by
performing 'degraded' deinterlacing - that is, using the user-chosen
method for as many fields as possible, then using vfir for as long as
there are >= 2 fields remaining in the history, then using linear for
the last field.
This should avoid losing fields being kept for history for example at
EOS.
This may address part of #633294
Robert Swain [Fri, 5 Nov 2010 14:44:35 +0000 (15:44 +0100)]
deinterlace: Refactor chain function
This is needed to be able to output a frame from outside the chain
function, i.e. in the following commit that adds flushing of the field
history.
Tim-Philipp Müller [Fri, 5 Nov 2010 17:17:56 +0000 (17:17 +0000)]
configure: we still require Gtk+ >= 2.14.0 when compiling against 2.0
The check for the minor version was dropped in the previous commit.
Tim-Philipp Müller [Fri, 5 Nov 2010 16:24:42 +0000 (16:24 +0000)]
configure: add --with-gtk option and default to Gtk+ 2.0 while the 3.0 API is still in flux
https://bugzilla.gnome.org/show_bug.cgi?id=634014
Jonathan Matthew [Thu, 4 Nov 2010 06:42:07 +0000 (16:42 +1000)]
icydemux: fix use-after-free of taglist
Broken by commit
4c2f5333 (bug #630205).
https://bugzilla.gnome.org/show_bug.cgi?id=633970
Tim-Philipp Müller [Mon, 1 Nov 2010 17:29:01 +0000 (17:29 +0000)]
0.10.25.4 pre-release
Tim-Philipp Müller [Mon, 1 Nov 2010 17:28:36 +0000 (17:28 +0000)]
po: update translations
Tim-Philipp Müller [Mon, 1 Nov 2010 16:04:20 +0000 (16:04 +0000)]
configure: fix --disable-external
Wim Taymans [Mon, 1 Nov 2010 13:56:28 +0000 (14:56 +0100)]
rtph264depay: only set delta unit on all-non-key units
Only set the delta flag when all of the units in the packet are delta units.
Based on patch from Olivier Crête <olivier.crete@collabora.co.uk>
Fixes #632945
Thiago Santos [Tue, 26 Oct 2010 18:44:37 +0000 (15:44 -0300)]
goom: Return not-negotiated when bps is unknown
If caps weren't negotiated, goom should return not-negotiated
from its chain functions instead of using bps unitialized, which
leads to a division by 0
https://bugzilla.gnome.org/show_bug.cgi?id=633212
Jan Schmidt [Wed, 27 Oct 2010 12:16:54 +0000 (13:16 +0100)]
Automatic update of common submodule
From 7bbd708 to 011bcc8
Jan Schmidt [Tue, 26 Oct 2010 15:54:11 +0000 (16:54 +0100)]
videoflip: Forward src pad events upstream.
Fix passing navigation and other events upstream by actually sending them.
Fixes: #633205
Tim-Philipp Müller [Sun, 24 Oct 2010 17:50:30 +0000 (18:50 +0100)]
qtdemux: fix deadlock in error code path
GST_ELEMENT_ERROR must not be called with the object lock held,
since it will call gst_object_get_parent() internally, which
takes the object lock as well.
Philip Jägenstedt [Wed, 20 Oct 2010 08:21:48 +0000 (10:21 +0200)]
matroskademux: Remove useless clearing of send_xiph_headers for Dirac
This looks like a mistake when copy-pasting the Theora code.
https://bugzilla.gnome.org/show_bug.cgi?id=632682
Philip Jägenstedt [Wed, 20 Oct 2010 11:28:28 +0000 (13:28 +0200)]
matroskademux: don't crash if vorbis/theora codec data is missing
Error out properly in this case instead of crashing.
https://bugzilla.gnome.org/show_bug.cgi?id=632682
Tim-Philipp Müller [Fri, 22 Oct 2010 17:11:46 +0000 (18:11 +0100)]
0.10.25.3 pre-release
Mark Nauwelaerts [Tue, 19 Oct 2010 14:45:51 +0000 (16:45 +0200)]
rtspsrc: fix duration reporting
Init segment prior to storing duration info in it.
Fixes #632548.
Bastien Nocera [Tue, 19 Oct 2010 13:21:53 +0000 (14:21 +0100)]
gconf: Don't install schemas when GConf is disabled
https://bugzilla.gnome.org/show_bug.cgi?id=632553
Tim-Philipp Müller [Sat, 16 Oct 2010 14:43:53 +0000 (15:43 +0100)]
win32: set GST_PACKAGE_RELEASE_DATETIME also in win32 config.h
Tim-Philipp Müller [Sat, 16 Oct 2010 00:33:52 +0000 (01:33 +0100)]
0.10.25.2 pre-release
Tim-Philipp Müller [Sat, 16 Oct 2010 00:26:01 +0000 (01:26 +0100)]
po: update translations
David Schleef [Fri, 15 Oct 2010 20:22:03 +0000 (13:22 -0700)]
tests: Don't dist generated orc files
David Schleef [Fri, 15 Oct 2010 21:02:19 +0000 (14:02 -0700)]
Update generated orc code
Tim-Philipp Müller [Fri, 15 Oct 2010 17:00:10 +0000 (18:00 +0100)]
configure: bump Orc requirement to 0.4.11
Olivier Crête [Thu, 14 Oct 2010 21:41:30 +0000 (17:41 -0400)]
rtpbin: Use the right constant to define the "use-pipeline-clock" property
The wrong #define was being used, now use the correct one.
David Schleef [Thu, 14 Oct 2010 19:31:48 +0000 (12:31 -0700)]
Automatic update of common submodule
From 5a668bf to 7bbd708
Mark Nauwelaerts [Thu, 14 Oct 2010 15:26:14 +0000 (17:26 +0200)]
ac3: demuxers provide framed output
Tim-Philipp Müller [Wed, 13 Oct 2010 23:11:27 +0000 (00:11 +0100)]
matroskamux: reduce newsegment event spam and set discont flag where needed
Only send newsegment events with new positions downstream when actually
needed, instead of sending multiple newsegment events with new seek
positions in a row. Also set the discont flag on buffers after a
discontinuity.
Tim-Philipp Müller [Wed, 13 Oct 2010 22:46:02 +0000 (23:46 +0100)]
matroskamux: set correct buffer offsets after seeks
Re-use the existing 'pos' field maintained by ebml writer to set
buffer offsets. This also makes sure that we set the right offsets
on buffers after a seek (e.g. when writing an index at the end).
Tim-Philipp Müller [Wed, 13 Oct 2010 23:22:03 +0000 (00:22 +0100)]
matroskamux: don't forward tag events downstream
Don't forward stream-specific tag events downstream (esp. not
before any newsegment event).x
Mark Nauwelaerts [Wed, 13 Oct 2010 15:15:25 +0000 (17:15 +0200)]
qtdemux: handle another mp4v variation
... including the glbl atom containing codec-data.
Stefan Kost [Wed, 13 Oct 2010 14:21:23 +0000 (17:21 +0300)]
various (gst): add a missing G_PARAM_STATIC_STRINGS flags
Stefan Kost [Wed, 13 Oct 2010 14:13:04 +0000 (17:13 +0300)]
various (sys): add a missing G_PARAM_STATIC_STRINGS flags
Stefan Kost [Wed, 13 Oct 2010 13:25:15 +0000 (16:25 +0300)]
various (ext): add a missing G_PARAM_STATIC_STRINGS flags
Stefan Kost [Wed, 13 Oct 2010 13:34:09 +0000 (16:34 +0300)]
various: wrap property registration and add a single fixme for long desc.
Wim Taymans [Wed, 13 Oct 2010 09:46:58 +0000 (11:46 +0200)]
h264depay: always mark the codec_data as keyframe
We need to mark the codec_data as a keyframe or else downstream decoders might
decide to skip it, waiting for a keyframe.
Fixes #631996
Zaheer Abbas Merali [Wed, 13 Oct 2010 06:16:47 +0000 (07:16 +0100)]
matroskamux: make buffer offsets a byte count rather than a buffer count
Tim-Philipp Müller [Thu, 7 Oct 2010 20:12:48 +0000 (21:12 +0100)]
ext, gst: canonicalise property names where this wasn't the case
ie. "foo_bar" -> "foo-bar"
Thijs Vermeir [Tue, 12 Oct 2010 13:02:42 +0000 (15:02 +0200)]
rtpmpvpay: fix timestamping of rtp buffers
Incomming buffer is only pushed on the adapter at the end of the
handle_buffer function. But duration/timestamp of this buffer is already
taken into account for the current data in the adapter. This leads to
wrong rtp timestamps and extra latency.
Sebastian Dröge [Tue, 12 Oct 2010 09:37:40 +0000 (11:37 +0200)]
examples: Fix build with GTK+ 3.0
Wim Taymans [Mon, 11 Oct 2010 13:12:00 +0000 (15:12 +0200)]
rtspsrc: mark as a source
Mark the rtspsrc element as a source.
Requires 0.10.31.1 now
Sebastian Dröge [Mon, 11 Oct 2010 12:24:13 +0000 (14:24 +0200)]
autodetect: Set GST_ELEMENT_IS_SOURCE flag on sources
Sebastian Dröge [Mon, 11 Oct 2010 12:21:07 +0000 (14:21 +0200)]
switchsrc: Set the GST_ELEMENT_IS_SOURCE flag
Sebastian Dröge [Mon, 11 Oct 2010 12:17:33 +0000 (14:17 +0200)]
configure: Require core 0.10.30.1
Zaheer Abbas Merali [Sun, 10 Oct 2010 13:43:58 +0000 (14:43 +0100)]
matroskamux: set offsets on outgoing buffers