Vincent Penquerc'h [Mon, 15 Jul 2013 16:11:45 +0000 (17:11 +0100)]
aacparse: allow conversion from ADTS to raw AAC
Some muxers (eg, qtmux) only support raw AAC, so this allows linking
an encoder that outputs ADTS only to those muxers.
The conversion is simple (omit the first 7 or 9 bytes of the frame),
but has to be done in pre_push instead of handle_frame as 1.0 does
not seem to allow skipping bytes there as 0.10 used to.
Other conversions are not supported (yet).
Vincent Penquerc'h [Mon, 15 Jul 2013 16:15:44 +0000 (17:15 +0100)]
aacparse: fix object_type parsing off-by-one in ADTS frame
According to http://wiki.multimedia.cx/index.php?title=ADTS,
the value stored in ADTS headers is one less than the object
type of the AAC stream.
A look at ffmpeg shows it also adds 1 to the value read off
the ADTS header.
Note that this might break other things that happen to have
an inverse off by one to match the existing code.
Thiago Santos [Thu, 25 Jul 2013 14:13:01 +0000 (11:13 -0300)]
avidemux: fix seqnum handling for seeks
Use the same seqnum as the seek for flushes/segments that are
caused by the seek. Also do the same for segment events
Fixes #676242
Thiago Santos [Thu, 25 Jul 2013 04:39:58 +0000 (01:39 -0300)]
matroskademux: fix seqnum handling for seeks
Use the same seqnum as the seek for flushes/segments that are
caused by the seek. Also do the same for segment events
Fixes #676242
Thiago Santos [Thu, 25 Jul 2013 04:11:31 +0000 (01:11 -0300)]
qtdemux: correctly handle seqnum for seeks and segments
Use the same seqnum on messages and events for derived events.
Fixed for flushes / stream-start / segment after a seek, and segment
after a segment.
Fixes #676242
Arnaud Vrac [Fri, 12 Jul 2013 18:01:42 +0000 (20:01 +0200)]
souphttpsrc: always ignore HEAD errors
https://bugzilla.gnome.org/show_bug.cgi?id=704241
Sebastian Dröge [Thu, 25 Jul 2013 12:26:07 +0000 (14:26 +0200)]
jpegenc: Clean up reset/start/stop handling
Sebastian Dröge [Thu, 25 Jul 2013 12:13:10 +0000 (14:13 +0200)]
jpegdec: Use base class error handling function instead of replicating it here
Sebastian Dröge [Thu, 25 Jul 2013 12:12:56 +0000 (14:12 +0200)]
jpegdec: Clean up handling of reset/start/stop
Tim-Philipp Müller [Thu, 25 Jul 2013 09:41:22 +0000 (10:41 +0100)]
tests: fix test ID3 tags up not to rely on dodgy typefinding code
Change 0xff 0xfb 'mp3' marker to 'fLaC' marker, so we can fix
the typefinder.
https://bugzilla.gnome.org/show_bug.cgi?id=681368
Alessandro Decina [Thu, 25 Jul 2013 06:22:45 +0000 (08:22 +0200)]
osxaudiosink: intersect the probed caps with the filter passed to get_caps()
Wim Taymans [Wed, 24 Jul 2013 12:17:45 +0000 (14:17 +0200)]
bin: fix compilation
Wim Taymans [Wed, 24 Jul 2013 10:42:31 +0000 (12:42 +0200)]
vrawdepay: fix UYVP format
Wim Taymans [Wed, 24 Jul 2013 10:41:58 +0000 (12:41 +0200)]
vrawpay: fix UYVP format
Wim Taymans [Wed, 24 Jul 2013 10:41:44 +0000 (12:41 +0200)]
vrawpay: fix caps
Wim Taymans [Wed, 24 Jul 2013 08:49:03 +0000 (10:49 +0200)]
rtpjitterbuffer: fix locking
Take the lock earlier so that we do things that follow with the right
locking.
Wim Taymans [Tue, 23 Jul 2013 15:40:02 +0000 (17:40 +0200)]
rtpsession: don't use invalid times in RTCP timeouts
An invalid timeout can be calculated when we disabled RTCP by setting the
bandwidth to 0. Make sure all code can handle this case.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674626
Wim Taymans [Tue, 23 Jul 2013 15:38:20 +0000 (17:38 +0200)]
rtpsession: lock session when changing bandwidth
Take the session lock when changing the bandwidth properties so that we don't
end up with inconsistent behaviour.
Wim Taymans [Tue, 23 Jul 2013 15:37:05 +0000 (17:37 +0200)]
session: reset some RTCP variables
The early_send time was set to 0 and always triggering an early RTCP packet.
Edward Hervey [Tue, 23 Jul 2013 13:03:31 +0000 (15:03 +0200)]
qtdemux: Add all the mpeg XDCAM variants
This should cover all known XDCAM variants (which are all mpeg2 video)
Fixes #672227
Carlos Rafael Giani [Wed, 3 Jul 2013 16:41:42 +0000 (18:41 +0200)]
rtpbin: added custom downstream sync event
rtpbin can now send a custom in-band downstream event which informs
downstream that the bin has received an RTCP SR packet. This is useful
for applications which want to drop the initial unsynchronized received
RTP packets.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703560
Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
Tim-Philipp Müller [Mon, 22 Jul 2013 17:00:16 +0000 (18:00 +0100)]
deinterlace: fix on-the-fly changing of "mode" and "fields" properties
We call setcaps() to reconfigure ourselves, but we need to pass
the current *sink* caps, not the source caps then. Also fix a
caps leak.
https://bugzilla.gnome.org/show_bug.cgi?id=641599
Sebastian Dröge [Mon, 22 Jul 2013 13:23:39 +0000 (15:23 +0200)]
wavparse: Add support for group-id in the stream-start event
Sebastian Dröge [Mon, 22 Jul 2013 13:23:20 +0000 (15:23 +0200)]
rtspsrc: Add support for group-id in the stream-start event
Sebastian Dröge [Mon, 22 Jul 2013 13:23:11 +0000 (15:23 +0200)]
rtpsession: Add support for group-id in the stream-start event
Sebastian Dröge [Mon, 22 Jul 2013 13:22:55 +0000 (15:22 +0200)]
matroskademux: Add support for group-id in the stream-start event
Sebastian Dröge [Mon, 22 Jul 2013 13:22:47 +0000 (15:22 +0200)]
qtdemux: Add support for group-id in the stream-start event
Sebastian Dröge [Mon, 22 Jul 2013 13:22:36 +0000 (15:22 +0200)]
flvdemux: Add support for group-id in the stream-start event
Sebastian Dröge [Mon, 22 Jul 2013 13:22:16 +0000 (15:22 +0200)]
avidemux: Add support for group-id in the stream-start event
Sebastian Dröge [Mon, 22 Jul 2013 13:21:49 +0000 (15:21 +0200)]
dvdemux: Add support for group-id in the stream-start event
Mathieu Duponchelle [Fri, 19 Jul 2013 20:59:15 +0000 (22:59 +0200)]
videomixer: use gst_util_uint64_scale*_round.
There could be a case where:
1) you do a new set_caps after buffers have been processed.
2) ts_offset gets set to a different value, eg 0.
033333333
3) your pads get EOS, but the check dor that doesn't work
because you use ts_offset + a truncated value < segment.stop
4) so in the next collected, you end up comparing for example:
0.
9999999999 > 1., which is false and means you don't send EOS.
Also adds scale_round in two other places where it potentially could
have caused problems.
Olivier Crête [Mon, 15 Jul 2013 21:55:19 +0000 (17:55 -0400)]
qtdemux: Add WRLE support
Tim-Philipp Müller [Fri, 19 Jul 2013 18:35:26 +0000 (19:35 +0100)]
qtdemux: make files from Vivotek camera play
Skip tracks of 'vivo' subtype with empty stsd instead of
erroring out saying that the file is broken.
https://bugzilla.gnome.org/show_bug.cgi?id=699791
Tim-Philipp Müller [Fri, 19 Jul 2013 16:14:06 +0000 (17:14 +0100)]
qtmux: when streaming don't try to seek when stopping
It might cause errors in sinks that are not seekable and
have reported this (like e.g. fdsink)
https://bugzilla.gnome.org/show_bug.cgi?id=696228
Wim Taymans [Fri, 19 Jul 2013 15:26:54 +0000 (17:26 +0200)]
qtdemux: simplify some helpers
Some helper functions are not needed anymore or can be simplified.
Wim Taymans [Fri, 19 Jul 2013 15:12:37 +0000 (17:12 +0200)]
qtdemux: for non-raw video, move palette in caps
We only need to append the palette to raw video buffers, non-raw video has the
palette in the caps still.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=704292
Arnaud Vrac [Thu, 18 Jul 2013 23:49:20 +0000 (01:49 +0200)]
qtdemux: nitpicking in esds parsing
Arnaud Vrac [Thu, 18 Jul 2013 23:49:07 +0000 (01:49 +0200)]
qtdemux: set proper caps for mpeg-1 audio
Remove AAC specific fields from mpeg-1 audio caps, remove assumption
that the mpeg1 audio layer is 3, and set `parsed' field.
https://bugzilla.gnome.org/show_bug.cgi?id=704548
Arnaud Vrac [Mon, 17 Jun 2013 19:27:37 +0000 (21:27 +0200)]
vpx: fix compilation when encoder or decoder headers are not installed
https://bugzilla.gnome.org/show_bug.cgi?id=704547
Nicolas Dufresne [Wed, 17 Jul 2013 00:41:15 +0000 (20:41 -0400)]
videocrop: Fix unit for GRAY16 formats
Arnaud Vrac [Tue, 16 Jul 2013 20:17:17 +0000 (22:17 +0200)]
qtdemux: remove chapter stream
Remove all streams that are actually table of contents, since we will
never need the data after parsing them.
Arnaud Vrac [Tue, 16 Jul 2013 19:59:37 +0000 (21:59 +0200)]
qtdemux: send gap event for sparse streams in push mode
This allows to pre-roll at least if the next subtitle buffer
is far away.
Arnaud Vrac [Tue, 16 Jul 2013 19:56:07 +0000 (21:56 +0200)]
qtdemux: do not use indexes from sparse stream when seeking in push mode
This makes seeking more accurate in push mode, since the previous
keyframe on a sparse stream might be far away.
Arnaud Vrac [Tue, 16 Jul 2013 19:04:07 +0000 (21:04 +0200)]
qtdemux: advertise subtitle streams as sparse
Arnaud Vrac [Wed, 17 Jul 2013 15:11:44 +0000 (17:11 +0200)]
mastrokademux: do not push discont buffers if they aren't discont
Unset the discont flag instead of posssibly pushing a buffer with
a flag that's still set.
https://bugzilla.gnome.org/show_bug.cgi?id=682110
Wim Taymans [Wed, 17 Jul 2013 13:10:00 +0000 (15:10 +0200)]
qtdemux: extract the palette from stsd
Sometimes a palette is inside the stsd, extract it instead of always using
the default one
Sebastian Dröge [Wed, 17 Jul 2013 12:30:16 +0000 (14:30 +0200)]
goom2k1: Fix event handling and negotiate as soon as possible
Sebastian Dröge [Wed, 17 Jul 2013 12:27:57 +0000 (14:27 +0200)]
goom: Fix event handling and negotiate as soon as possible
Andoni Morales Alastruey [Thu, 11 Jul 2013 17:45:17 +0000 (19:45 +0200)]
osxvideosink: warn about the future deprecation of the "embed" property
Wim Taymans [Wed, 17 Jul 2013 07:56:01 +0000 (09:56 +0200)]
qtdemux: add support for WRAW
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=704292
Wim Taymans [Wed, 17 Jul 2013 07:54:58 +0000 (09:54 +0200)]
qtdemux: palette is appended to buffers, not in caps
Fix the palette handling, in 1.0 we append the palette to the buffer instead of
placing it on the caps.
See also https://bugzilla.gnome.org/show_bug.cgi?id=704292
Olivier Crête [Tue, 16 Jul 2013 19:37:49 +0000 (15:37 -0400)]
rtp: Use gst_adapter_take_buffer_fast() where possible in RTP payloaders
Arnaud Vrac [Mon, 15 Jul 2013 14:24:07 +0000 (16:24 +0200)]
qtdemux: reset segment on flush stop
cca2f555d14 introduces a regression, where the demux segment is not
reset on flush stop, so the next upstream segment event will calculate
an invalid base time on the new segment to be sent downstream.
https://bugzilla.gnome.org/show_bug.cgi?id=704255
Matej Knopp [Sat, 6 Jul 2013 15:20:49 +0000 (17:20 +0200)]
qtdemux: offset samples according to edit list
https://bugzilla.gnome.org/show_bug.cgi?id=700264
Douglas Bagnall [Sun, 14 Jul 2013 00:50:13 +0000 (12:50 +1200)]
level: Fix the spectrum example for 1.0
The "message" property has been replaced by "post-messages".
Pre-patch output:
(test_spectrum:23101): GLib-GObject-WARNING **: g_object_set_valist:
object class `GstSpectrum' has no property named `message'
New spectrum message, endtime 0:00:00.
100000000
(test_spectrum:23101): GStreamer-CRITICAL **:
gst_value_list_get_value: assertion `GST_VALUE_HOLDS_LIST (value)' failed
[...]
Post-patch:
New spectrum message, endtime 0:00:00.
100000000
band 0 (freq 400): magnitude -65.988777 dB phase 1.533397
band 1 (freq 1200): magnitude -65.545563 dB phase -0.780900
band 2 (freq 2000): magnitude -64.791946 dB phase -0.799611
band 3 (freq 2800): magnitude -64.556175 dB phase -0.063615
[...]
https://bugzilla.gnome.org/show_bug.cgi?id=704179
Matej Knopp [Sat, 13 Jul 2013 18:56:26 +0000 (20:56 +0200)]
aacparse: be less verbose when parsing LOAS streams
https://bugzilla.gnome.org/show_bug.cgi?id=704162
Wim Taymans [Fri, 12 Jul 2013 10:31:39 +0000 (12:31 +0200)]
sink: alaw/mulaw caps don't have a layout property
Wim Taymans [Fri, 12 Jul 2013 10:27:53 +0000 (12:27 +0200)]
pulse: relax mulaw and alaw format checks
The audio library considers them as encoded formats and does not fill in the
sample width. The audio ringbuffers identifies the format as alaw/mulaw and that
is always 8 bits.
Matej Knopp [Thu, 11 Jul 2013 14:13:05 +0000 (16:13 +0200)]
qtdemux: unselect instead of ignoring disabled track, detect chapter track
https://bugzilla.gnome.org/show_bug.cgi?id=704007
Thiago Santos [Thu, 11 Jul 2013 23:41:23 +0000 (20:41 -0300)]
souphttpsrc: ignore errors from HEAD request
HEAD requests are used to check the server headers to see if it
seekable. Ignore errors from those requests as they shouldn't be
critical.
https://bugzilla.gnome.org/show_bug.cgi?id=704053
Kyosuke Nekomura [Thu, 11 Jul 2013 19:24:08 +0000 (03:24 +0800)]
audioecho: Fix handling of delay property in PLAYING/PAUSED state
https://bugzilla.gnome.org/show_bug.cgi?id=703901
Olivier Crête [Tue, 9 Jul 2013 21:56:57 +0000 (17:56 -0400)]
rtpmux: Enable proxy caps on the src pads
Sebastian Dröge [Thu, 11 Jul 2013 14:57:15 +0000 (16:57 +0200)]
Back to development
Sebastian Dröge [Thu, 11 Jul 2013 13:58:51 +0000 (15:58 +0200)]
Release 1.1.2
Sebastian Dröge [Thu, 11 Jul 2013 13:58:29 +0000 (15:58 +0200)]
Update .po files
Andoni Morales Alastruey [Tue, 9 Jul 2013 13:34:04 +0000 (15:34 +0200)]
osxvideosink: defer the window handle setup to the main thread
Andoni Morales Alastruey [Tue, 9 Jul 2013 13:33:18 +0000 (15:33 +0200)]
osxvideosink: default to the main in case we are not setup yet
Andoni Morales Alastruey [Sun, 7 Jul 2013 20:16:05 +0000 (22:16 +0200)]
osxvideosink: close the internal window correctly
Andoni Morales Alastruey [Sun, 7 Jul 2013 19:14:22 +0000 (21:14 +0200)]
osxvideosink: only create the NS app thread for Cocoa once
The helper thread for Cocoa, in case no NS run loop is running,
should be started only once and shared across all the instances
running
Matej Knopp [Tue, 9 Jul 2013 17:10:17 +0000 (19:10 +0200)]
qtdemux: correct argument order in gst_util_uint64_scale_int_round
https://bugzilla.gnome.org/show_bug.cgi?id=703350
Olivier Crête [Tue, 9 Jul 2013 21:42:59 +0000 (17:42 -0400)]
rtpmux: Keep caps order from the peer or the filter
Sebastian Dröge [Tue, 9 Jul 2013 10:42:17 +0000 (12:42 +0200)]
videomixer: Fix handling of buffers without a duration
We'll have to pop buffer from collectpads and store it
internally only to get the timestamp of the next buffer.
If we continue to keep it in collectpads, no new buffer
to calculate the end time will ever arrive.
https://bugzilla.gnome.org/show_bug.cgi?id=703743
Sebastian Dröge [Tue, 9 Jul 2013 09:53:07 +0000 (11:53 +0200)]
videomixer: Fix negotiation with 0/1 framerates
https://bugzilla.gnome.org/show_bug.cgi?id=703743
Jonas Holmberg [Tue, 9 Jul 2013 09:17:59 +0000 (11:17 +0200)]
matroskademux: Unlock stream lock after use
Stream lock of sink pad was not unlocked after non-updating seek.
Ognyan Tonchev [Thu, 27 Jun 2013 11:26:31 +0000 (13:26 +0200)]
multipartmux: Re-set need_segment flag after FLUSH_STOP
https://bugzilla.gnome.org/show_bug.cgi?id=703182
Michael Olbrich [Fri, 5 Jul 2013 09:51:04 +0000 (11:51 +0200)]
v4l2: bufferpool: don't forget to release buffer on error
If the pool is stopped while gst_v4l2_buffer_pool_dqbuf() waits for a
buffer then the return value is GST_FLOW_FLUSHING. In this case the buffer
to queue must also be released. Otherwise is will never be deleted or
returned to its pool.
https://bugzilla.gnome.org/show_bug.cgi?id=703764
Sebastian Dröge [Mon, 8 Jul 2013 12:15:10 +0000 (14:15 +0200)]
rtp: Fail payloading unit test if an error message is received
Sebastian Dröge [Mon, 8 Jul 2013 12:09:37 +0000 (14:09 +0200)]
rtph263ppay: Don't pass upstream filter caps to downstream
Downstream usually can't accept video/x-h263 but only application/x-rtp,
so we would always get an empty intersection here.
https://bugzilla.gnome.org/show_bug.cgi?id=702632
Piotr Drąg [Fri, 5 Jul 2013 20:00:37 +0000 (22:00 +0200)]
po: update POTFILES.in
https://bugzilla.gnome.org/show_bug.cgi?id=703685
Wim Taymans [Tue, 2 Jul 2013 09:13:25 +0000 (11:13 +0200)]
rtspsrc: avoid some strdup
Wim Taymans [Tue, 2 Jul 2013 08:37:50 +0000 (10:37 +0200)]
rtspsrc: add select-stream signal
Add a signal to let the app select what streams will be selected.
See https://bugzilla.gnome.org/show_bug.cgi?id=634419
Wim Taymans [Tue, 2 Jul 2013 08:37:35 +0000 (10:37 +0200)]
rtspsrc: avoid strdup
J. Rick Ramstetter [Tue, 2 Jul 2013 08:12:17 +0000 (10:12 +0200)]
rtp: Fix documentation and comments to use rtpbin instead of old gstrtpbin
https://bugzilla.gnome.org/show_bug.cgi?id=703426
Michael Olbrich [Mon, 1 Jul 2013 14:55:01 +0000 (16:55 +0200)]
v4l2: don't extract data from caps twice
gst_video_info_from_caps() always extract width, height, interlace mode and
framerate now. It is no longer necessary to do it again for encoded
formats.
https://bugzilla.gnome.org/show_bug.cgi?id=703399
Andoni Morales Alastruey [Thu, 20 Jun 2013 12:41:48 +0000 (09:41 -0300)]
souphttpsrc: also consider stop positions in seeks
Use seek stop position as range end for requests
https://bugzilla.gnome.org/show_bug.cgi?id=702206
Thiago Santos [Wed, 19 Jun 2013 17:06:40 +0000 (14:06 -0300)]
souphttpsrc: allow seeks in ready
On is_seekable, check if the server's headers have already been
received. If not, do a HEAD request to get them before responding
to basesrc.
https://bugzilla.gnome.org/show_bug.cgi?id=702206
Wim Taymans [Mon, 1 Jul 2013 15:28:55 +0000 (17:28 +0200)]
rtspsrc: add signal to notify of the SDP
This way, the app can look and modify the SDP.
Kishore Arepalli [Fri, 21 Jun 2013 16:10:28 +0000 (18:10 +0200)]
gdkpixbufoverlay: Allow negative offsets to specify offset from bottom/right
https://bugzilla.gnome.org/show_bug.cgi?id=702826
Matej Knopp [Sun, 30 Jun 2013 19:01:20 +0000 (21:01 +0200)]
qtdemux: compute framerate from average sample duration
https://bugzilla.gnome.org/show_bug.cgi?id=703350
Alban Browaeys [Tue, 25 Jun 2013 19:16:38 +0000 (21:16 +0200)]
flvdemux: Add flvversion 1 to the flash-video caps
This allows using avdec_flv which requires this field to be
present in the caps. FLV only supports flash-video version 1
right now.
https://bugzilla.gnome.org/show_bug.cgi?id=703076
Sebastian Dröge [Mon, 1 Jul 2013 09:37:00 +0000 (11:37 +0200)]
deinterleave: Don't hold object lock while sending events downstream
Based on a patch by Kishore Arepalli <kishore.arepalli@gmail.com>
https://bugzilla.gnome.org/show_bug.cgi?id=703114
Sebastian Dröge [Mon, 1 Jul 2013 08:59:07 +0000 (10:59 +0200)]
matroskademux: Add MPEG4 video profile/level to the caps
Sebastian Dröge [Mon, 1 Jul 2013 08:56:28 +0000 (10:56 +0200)]
matroskademux: Add AAC profile/level to the caps
https://bugzilla.gnome.org/show_bug.cgi?id=703312
Wim Taymans [Fri, 28 Jun 2013 13:21:56 +0000 (15:21 +0200)]
vorbispay: add support for config-interval
Align code with the theora payloader and add support for the config-interval to
periodically send out the config headers.
Wim Taymans [Fri, 28 Jun 2013 13:21:12 +0000 (15:21 +0200)]
theorapay: small cleanups
Wim Taymans [Fri, 28 Jun 2013 10:08:19 +0000 (12:08 +0200)]
theorapay: handle streamheaders as well
Wim Taymans [Fri, 28 Jun 2013 10:06:21 +0000 (12:06 +0200)]
vorbispay: always collect headers on data
When we see a data packet, always check if we need to collect any previous
headers.
Wim Taymans [Fri, 28 Jun 2013 09:43:17 +0000 (11:43 +0200)]
vorbispay: handle streamheader as well
Take config strings from the streamheader when we can
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=664312
David Svensson Fors [Thu, 27 Jun 2013 05:40:29 +0000 (07:40 +0200)]
rtph264pay: avoid double buffer unmap on error
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703171
Wim Taymans [Thu, 27 Jun 2013 15:02:14 +0000 (17:02 +0200)]
rtspsrc: reset-sync before play
Call reset-sync on the rtpbin before we go to playing. This makes us require SR
packets for all streams again before we attempt to sync them. If we don't reset,
it might be that we combine SR packets from before and after the PAUSE/PLAYING
state change and end up with huge bogus offsets.