Tim-Philipp Müller [Sun, 11 Dec 2011 16:05:57 +0000 (16:05 +0000)]
docs: minor Makefile.am clean-up
GST_BAD_CFLAGS and GST_BAD_LIBS don't exist.
Tim-Philipp Müller [Sun, 11 Dec 2011 15:29:31 +0000 (15:29 +0000)]
tests: disable failing jifmux, camerabin2, and colorspace tests
jifmux: general:test_jifmux_tags:0: Assertion 'entry->components == 2' failed
camerabin2: test_multiple_video_recordings:0: gst_caps_get_structure: assertion `GST_IS_CAPS (caps)
colorspace: bad memory accesses in orc code for odd width buffers (see bug #663248)
Tim-Philipp Müller [Sun, 11 Dec 2011 15:03:17 +0000 (15:03 +0000)]
tests: fix g_usleep() in camerabin2 test
g_usleep() takes a microsecond value, GST_SECOND is nanoseconds, so
we were sleeping for more than 3 minutes here instead of 200ms.
Tim-Philipp Müller [Sun, 11 Dec 2011 00:59:15 +0000 (00:59 +0000)]
po: update translations
Tim-Philipp Müller [Sun, 25 Sep 2011 22:57:34 +0000 (23:57 +0100)]
mpegpsmux: put stream headers into output caps
Basic version with only the system header and the program
stream map. An advanced version could include codec-specific
bits like SPS/PPS too. This is useful in connection with
e.g. multifilesink to make sure new files always start with
the stream headers.
Tim-Philipp Müller [Fri, 16 Sep 2011 18:32:38 +0000 (19:32 +0100)]
mpegpsmux: add "aggregate-gops" property to aggregate GOPs into buffer lists
Useful in connection with multifilesink, for example, to make sure
the new file always starts with a keyframe.
Tim-Philipp Müller [Sat, 10 Dec 2011 20:08:20 +0000 (20:08 +0000)]
mpegpsmux: remember primary video stream
Tim-Philipp Müller [Wed, 31 Aug 2011 18:40:05 +0000 (19:40 +0100)]
mpegpsmux: remember whether an incoming buffer is a keyunit or not
Vincent Penquerc'h [Fri, 9 Dec 2011 17:25:41 +0000 (17:25 +0000)]
opusenc: add upstream negotiation for multistream ability
This will help elements that cannot deal with multistream,
such as the RTP payloader.
The caps now do not include a "streams" field anymore, but
a "multistream" boolean, since we have no real use for knowing
the exact amount of streams.
https://bugzilla.gnome.org/show_bug.cgi?id=665078
Danilo Cesar Lemes de Paula [Wed, 7 Dec 2011 17:13:11 +0000 (15:13 -0200)]
Adding opus RTP payloader/depayloader element
Adding OPUS RTP module based on the current draft:
http://tools.ietf.org/id/draft-spittka-payload-rtp-opus-00.txt
https://bugzilla.gnome.org/show_bug.cgi?id=664817
Vincent Penquerc'h [Thu, 8 Dec 2011 19:47:55 +0000 (19:47 +0000)]
opus: include streams count in caps
https://bugzilla.gnome.org/show_bug.cgi?id=665078
Vincent Penquerc'h [Thu, 8 Dec 2011 18:45:27 +0000 (18:45 +0000)]
opus: properly create channel mapping tables
There are two of them, unintuitively enough; the one passed
to the encoder should not be the one that gets written to the
file. The former maps the input to an ordering which puts
paired channels first, while the latter moves the channels
to Vorbis order. So add code to calculate both, and we now
have properly paired channels where appropriate.
https://bugzilla.gnome.org/show_bug.cgi?id=665078
Tim-Philipp Müller [Thu, 8 Dec 2011 22:49:50 +0000 (22:49 +0000)]
videoparsers: fix LIBS order in Makefile.am
Vincent Penquerc'h [Thu, 8 Dec 2011 12:42:57 +0000 (12:42 +0000)]
mpegtsdemux: only offset timestamps when live
This code is to sync to a live source when there is a delay
between start and when we receive the first buffer, so it does
not make sense in a non live case.
This fixes playback of streams where the input timestamps are
based off some arbitrary offset.
https://bugzilla.gnome.org/show_bug.cgi?id=663756
Sebastian Dröge [Thu, 8 Dec 2011 10:51:36 +0000 (11:51 +0100)]
basevideoencoder: Only make the header buffer metadata writable, not the buffer
Sebastian Dröge [Thu, 8 Dec 2011 09:19:40 +0000 (10:19 +0100)]
basevideoencoder: Fix handling of force-keyunit events
Olivier Crête [Wed, 7 Dec 2011 05:06:11 +0000 (00:06 -0500)]
opusdec: header cleanup
https://bugzilla.gnome.org/show_bug.cgi?id=665078
Olivier Crête [Wed, 7 Dec 2011 05:06:11 +0000 (00:06 -0500)]
opusdec: Truncate caps first
https://bugzilla.gnome.org/show_bug.cgi?id=665078
Vincent Penquerc'h [Mon, 28 Nov 2011 19:47:34 +0000 (19:47 +0000)]
opusdec: default to stereo 48000 Hz if possible when no headers seen
https://bugzilla.gnome.org/show_bug.cgi?id=665078
Sebastian Dröge [Wed, 7 Dec 2011 12:48:53 +0000 (13:48 +0100)]
rsndec: Don't use the initial-identity property on autoconvert
It was removed, see bug #599469, #665205
Sebastian Dröge [Wed, 7 Dec 2011 12:46:43 +0000 (13:46 +0100)]
autoconvert: Remove the initial-identity property from autoconvert
Initially creating an identity element to forward serialized
events downstream before any caps are known is broken behaviour.
Serialized events should only be forwarded downstream if the
caps are already known, otherwise autopluggers and other elements
using pad-blocks will fail.
This behaviour also doesn't work anymore after basetransform
was fixed to queue serialized events until the caps are known
as a result of fixing bug #659571.
See bug #599469, #665205.
Thibault Saunier [Tue, 6 Dec 2011 19:27:25 +0000 (16:27 -0300)]
videoparsers: Do not not skip startcode when needed
Fix: https://bugzilla.gnome.org/show_bug.cgi?id=665631
Zhao Halley [Tue, 6 Dec 2011 00:55:19 +0000 (08:55 +0800)]
codecparsers: first video_packet_header doesn't start with resync_marker
Zhao Halley [Tue, 6 Dec 2011 00:53:07 +0000 (08:53 +0800)]
codecparsers: return NO_PACKET if needed
Zhao Halley [Tue, 6 Dec 2011 00:31:14 +0000 (08:31 +0800)]
codecparsers: fix an issue in check resync marker
Zhao Halley [Tue, 6 Dec 2011 00:25:59 +0000 (08:25 +0800)]
codecparsers: fix an issue in finding the last video packet in vop
Zhao Halley [Tue, 6 Dec 2011 00:21:19 +0000 (08:21 +0800)]
codecparsers: include resync marker in video packet size
Zhao Halley [Tue, 6 Dec 2011 00:19:05 +0000 (08:19 +0800)]
codecparsers: scan next resync marker after current one
Zhao Halley [Tue, 6 Dec 2011 00:17:38 +0000 (08:17 +0800)]
codecparsers: fix < 0 issue of guint in mpeg4 parser
gst_byte_reader_masked_scan_uint32 returns a guint, not a gint, which
explains the issue we sometime get using < 0 instead of == -1;
Zhao Halley [Tue, 6 Dec 2011 00:15:46 +0000 (08:15 +0800)]
codecparsers: fix pattern/mask of resync_marker parsing of mpeg4
Alessandro Decina [Tue, 6 Dec 2011 12:06:06 +0000 (13:06 +0100)]
h264parse: handle force key unit events
Send SPS/PPS on force key unit events. Useful for example when serving HLS
without transcoding.
Alessandro Decina [Tue, 6 Dec 2011 11:55:26 +0000 (12:55 +0100)]
codecparsers: fix compile warnings in gstmpeg4parser.c
Edward Hervey [Mon, 5 Dec 2011 10:56:02 +0000 (11:56 +0100)]
tests: Add more files to .gitignore
Edward Hervey [Mon, 5 Dec 2011 10:50:17 +0000 (11:50 +0100)]
h264parse: Use faster parsing variant when input is packetized
Reduces latency and cpu usage
https://bugzilla.gnome.org/show_bug.cgi?id=665584
Edward Hervey [Mon, 5 Dec 2011 10:47:57 +0000 (11:47 +0100)]
codecparsers: Variant of _identify_nalu without checks
This is useful for cases where the caller *knows* that the provided
input contains a whole NALU and can therefore avoid:
* the expensive checks for the next start code (which won't be present)
* delaying the input parsing (since we would need the next incoming NALU
in order for the parsing code to detect the next start code)
https://bugzilla.gnome.org/show_bug.cgi?id=665584
Mark Nauwelaerts [Mon, 5 Dec 2011 12:09:17 +0000 (13:09 +0100)]
h264parse: reflow slice nal processing
Mark Nauwelaerts [Mon, 5 Dec 2011 11:57:47 +0000 (12:57 +0100)]
h264parse: optimize slice nal processing
Only minimal slice info is needed here to determine real frame start,
so no need to parse extensively.
Fixes #665418.
Mark Nauwelaerts [Mon, 5 Dec 2011 11:53:59 +0000 (12:53 +0100)]
codecparser: unbreak h264 slice header parsing
.. introduced by refactoring in commit
177451c9216f4e3959e7358675fbb9731d2c81a2
Sebastian Dröge [Mon, 5 Dec 2011 07:56:43 +0000 (08:56 +0100)]
autoconvert: Implement iterate_internal_links function on the sinkpad and srcpad
Vincent Penquerc'h [Mon, 28 Nov 2011 19:38:34 +0000 (19:38 +0000)]
opusdec: guard against decoding 0 samples
https://bugzilla.gnome.org/show_bug.cgi?id=665078
Sebastian Dröge [Fri, 2 Dec 2011 10:46:03 +0000 (11:46 +0100)]
configure: Require XVID API >= 4.3
This is required for encoding the simple profile
with levels 4a, 5 or 6.
Fixes bug #665378.
Sebastian Dröge [Thu, 1 Dec 2011 09:54:49 +0000 (10:54 +0100)]
xvidenc: Don't add the profile/level to the video/x-xvid caps
Sebastian Dröge [Thu, 1 Dec 2011 08:54:08 +0000 (09:54 +0100)]
xvidenc: Add profile/level to the caps and negotiate them with downstream
Still keep the profile property to select profile/level if there
are no downstream constraints.
Fixes bug #652261.
Sebastian Dröge [Thu, 1 Dec 2011 08:39:11 +0000 (09:39 +0100)]
xvidenc: Add support for levels 4a/5/6 of the simple profile
Alessandro Decina [Thu, 1 Dec 2011 08:02:46 +0000 (09:02 +0100)]
h264parse: let upstream PAR override in-stream PAR
Alessandro Decina [Wed, 23 Nov 2011 17:26:44 +0000 (18:26 +0100)]
h264parse: rework PAR parsing
And in the process refactor _update_src_caps a bit
Luciana Fujii Pontello [Wed, 16 Nov 2011 05:03:12 +0000 (00:03 -0500)]
h264parse: respect pixel-aspect-ratio
Parse pixel-aspect-ratio in vui information.
Stefan Sauer [Wed, 30 Nov 2011 21:12:27 +0000 (22:12 +0100)]
spacespace: whitespace cleanups
Stefan Sauer [Wed, 30 Nov 2011 21:11:40 +0000 (22:11 +0100)]
wavescape: also add colormodes like in spacescope
Stefan Sauer [Wed, 30 Nov 2011 14:13:04 +0000 (15:13 +0100)]
audiovisualizer: update README
Stefan Sauer [Wed, 30 Nov 2011 13:20:38 +0000 (14:20 +0100)]
spacescope: add color-modes
In colormode we split the signal in low,mid,high frequency parts and draw them
separately into red, gree, blue color channels.
Nicola Murino [Tue, 30 Aug 2011 12:37:42 +0000 (14:37 +0200)]
replace propset_mutex with GST_OBJECT_LOCK
Stefan Sauer [Fri, 25 Nov 2011 21:32:11 +0000 (22:32 +0100)]
audiovisualizers: streamline the line_aa code
Have a reusable dot_aa code and reuse in the line drawing.
Tim-Philipp Müller [Wed, 30 Nov 2011 10:35:12 +0000 (10:35 +0000)]
mpegtsmux: fix build in uninstalled setup
Add -base libs includes to CFLAGS, fix order of LIBS.
Alessandro Decina [Sun, 21 Aug 2011 09:01:37 +0000 (11:01 +0200)]
mpegtsmux: add support for force key unit events
Handle force key unit events outputting PAT and PMT when all_headers=TRUE
Stefan Sauer [Tue, 29 Nov 2011 22:41:22 +0000 (23:41 +0100)]
opencv: allow to build against 2.3.1
Tim-Philipp Müller [Tue, 29 Nov 2011 18:18:36 +0000 (18:18 +0000)]
build: add old mpeg4videoparse directory to CRUFT_DIRS
Gwenole Beauchesne [Tue, 22 Nov 2011 08:47:58 +0000 (09:47 +0100)]
codecparsers: h264: record ref_pic_list_modification().
Gwenole Beauchesne [Tue, 22 Nov 2011 08:47:57 +0000 (09:47 +0100)]
codecparsers: h264: rename ref_pic_list_reordering() to ref_pic_list_modification().
Upgrade to current AVC specification.
Alexey Fisher [Tue, 29 Nov 2011 11:20:51 +0000 (12:20 +0100)]
mpegpsdemux: recalculate adjust if difference is negative
One of my dvds jump on some position and miss about 1 minute of stream.
The reason was mpeg timestamps. On some position scr difference is negative.
It produced negative timestamps. Since it was converted to unsigned value,
gstreamer timestamps was invalid. Instead of increasing mpeg ts,
they was decreasing till it started to be positive.
The jump in timestamps caused mpeg2dec to skip frames to make QoS happy.
This patch just make diff unsigned to avoid negative values.
Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
https://bugzilla.gnome.org/show_bug.cgi?id=656115
Sebastian Dröge [Tue, 29 Nov 2011 11:12:33 +0000 (12:12 +0100)]
basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass
Sebastian Dröge [Tue, 29 Nov 2011 11:12:04 +0000 (12:12 +0100)]
basevideoencoder: Implement full support for the new force-key-unit event
Including support for the running-time and count fields.
Sebastian Dröge [Tue, 29 Nov 2011 08:31:11 +0000 (09:31 +0100)]
basevideoencoder: Use new force-keyunit event API from gst-plugins-base
Sebastian Dröge [Tue, 29 Nov 2011 08:18:19 +0000 (09:18 +0100)]
basevideoencoder: Adjusting padding is not required for -bad libraries
Sebastian Dröge [Mon, 28 Nov 2011 18:48:01 +0000 (19:48 +0100)]
basevideoencoder: Move some fields to the private part of the instance struct
Sebastian Dröge [Mon, 28 Nov 2011 18:36:56 +0000 (19:36 +0100)]
basevideoencoder: Make headers metadata writable before pushing downstream
The timestamp, duration, etc of the headers has to be changed.
Sebastian Dröge [Mon, 28 Nov 2011 18:35:40 +0000 (19:35 +0100)]
basevideoencoder: Push the downstream force-keyframe event after the next keyframe
Even if the corresponding GstVideoFrame doesn't have the is_sync_point
flag set.
Sebastian Dröge [Mon, 28 Nov 2011 18:29:13 +0000 (19:29 +0100)]
basevideoencoder: Don't push an upstream force-keyunit event downstream
Jonas Larsson [Fri, 25 Nov 2011 10:48:08 +0000 (11:48 +0100)]
basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
See bug #607742.
Tim-Philipp Müller [Tue, 29 Nov 2011 09:22:38 +0000 (09:22 +0000)]
kate: fix set-but-not-used-variable compiler warning
gstkatetiger.c:1156:15: error: variable 'height' set but not used
gstkatetiger.c:1156:8: error: variable 'width' set but not used
Tim-Philipp Müller [Tue, 29 Nov 2011 09:15:11 +0000 (09:15 +0000)]
codecparsers: minor fixes
Const-ify one more VLC table. Fix spelling of 'hybrid'.
No need to explicitly call ensure_debug_category() everywhere,
that will be done automatically from GST_LOG() and friends
via GST_CAT_DEFAULT.
Thibault Saunier [Tue, 8 Nov 2011 13:44:11 +0000 (10:44 -0300)]
codecparser: mpeg4: Look for resync code in _mpeg4_parse
This way the API is simpler and users can call 1 single function for packet
detection.
Thibault Saunier [Thu, 29 Sep 2011 17:37:59 +0000 (14:37 -0300)]
mpeg4videoparse: Properly handle profile and level in caps
Fix #660234
Thibault Saunier [Mon, 26 Sep 2011 19:58:58 +0000 (16:58 -0300)]
mpeg4videoparse: Port to the new mpeg4parser library
Thibault Saunier [Mon, 26 Sep 2011 13:39:31 +0000 (10:39 -0300)]
mpeg4videoparse: Move to the videoparsers plugin
Rename a few variables to use the same convention as others elements in this
plugin
Conflicts:
gst/videoparsers/gstmpeg4videoparse.c
Thibault Saunier [Wed, 2 Nov 2011 12:14:42 +0000 (09:14 -0300)]
codecparsers: Declare private arrays as static all around
Thibault Saunier [Wed, 21 Sep 2011 22:49:36 +0000 (19:49 -0300)]
codecparsers: mpeg4: Implement an Mpeg4 part 2 parsing library
Thibault Saunier [Wed, 21 Sep 2011 22:40:47 +0000 (19:40 -0300)]
codecparsers: Move shared code to a parser utils file
Thibault Saunier [Thu, 29 Sep 2011 19:25:29 +0000 (16:25 -0300)]
pkgconfig: remove references to codecparsers from -bad.pc.in
Thiago Santos [Mon, 28 Nov 2011 21:47:50 +0000 (18:47 -0300)]
camerabin2: viewfinderbin: use faster cast macro
Use cast macro without type checks when we know it should work.
Thiago Santos [Mon, 28 Nov 2011 21:43:40 +0000 (18:43 -0300)]
camerabin2: viewfinderbin: Link elements directly to use faster version
ffmpegcolorspace and videoscale should always link successfully, use
the fast pad linking version instead of calling the generic helper
function.
Thiago Santos [Mon, 28 Nov 2011 19:35:48 +0000 (16:35 -0300)]
camerabin2: micro optimize linking some more
Vincent Penquerc'h [Thu, 29 Sep 2011 21:43:30 +0000 (22:43 +0100)]
kate: support for rendering on several YUV formats
This speeds up rendering a fair bit by not requiring colorspace
conversion, whether there is anything to overlay or not.
The blending code was nicked from textoverlay. I would think
this might be a helpful thing to put in, say, libgstvideo at
some point.
https://bugzilla.gnome.org/show_bug.cgi?id=660528
Vincent Penquerc'h [Thu, 18 Aug 2011 10:39:37 +0000 (11:39 +0100)]
mpeg4videoparse: fix number of bytes read for fixed time increment
The spec I found says "16 bits".
The existing code used log2(somevalue)+1.
ffmpeg uses log2(somevalue-1)+1.
The code now uses log2(somevalue-1)+1, and this makes it work with
some sample video without breaking another sample.
Now, I'm far from certain I've got the right spec, I found it by
searching the internet, so...
https://bugzilla.gnome.org/show_bug.cgi?id=654666
Vincent Penquerc'h [Mon, 28 Nov 2011 15:10:39 +0000 (15:10 +0000)]
mpegdemux: Try to add all streams early
This will allow us to signal no-more-pads to avoid hitting
the decodebin2 overrun.
Vincent Penquerc'h [Mon, 26 Sep 2011 11:43:27 +0000 (12:43 +0100)]
mpegtsdemux: handle pads with no data
Some streams declare PIDs but will not send data for them.
Ensure we time out on those, and both send new segments to
keep their time synchronized with the rest, and do not wait
forever before deciding to signal no-more-pads.
https://bugzilla.gnome.org/show_bug.cgi?id=659924
Vincent Penquerc'h [Mon, 26 Sep 2011 11:16:30 +0000 (12:16 +0100)]
mpegtsdemux: signal no-more-pads when appropriate
We track streams for which a data callback is set (and for which
pads will be added only when data is received), and signal
no-more-pads when the last pad is added.
https://bugzilla.gnome.org/show_bug.cgi?id=659924
Vincent Penquerc'h [Mon, 5 Sep 2011 16:40:07 +0000 (17:40 +0100)]
mpegdemux: take into account offset of first buffer
This fixes playback when the source starts later than the playback
pipeline, and when a source drops for a while then restarts.
https://bugzilla.gnome.org/show_bug.cgi?id=657794
Vincent Penquerc'h [Sat, 3 Sep 2011 13:37:40 +0000 (14:37 +0100)]
mpegdemux: fix some more video freezing
There was a second threshold, which apparently needs to be smaller
than the first, though I'm not certain of it as I don't understand
yet this nest of wtf that is the mpeg demuxer timing logic.
Fixes video freezing on one (corrupted) MPEG sample. It would
previously never think it was out of the discontinuity, and would
push buffers with no timestamp.
Now this took me more than a day's poking at the thing, for just
one constant change, and I'm scared to have to touch this again :S
https://bugzilla.gnome.org/show_bug.cgi?id=655804
Vincent Penquerc'h [Tue, 30 Aug 2011 13:50:52 +0000 (14:50 +0100)]
mpegdemux: catch smaller PTS dicontinuities
In a test stream, I get one buffer with a PTS of about 15 seconds
in the future compared to the previous one, and next buffers with
timestamps continuing where the original ones left off.
This caused the sink to wait 15 seconds to display the frame while
more frames queued up, and then dump all the subsequent frames as
they "arrived too late".
Maybe that threshold should be made configurable, but for now,
make it more smaller to catch more of these.
https://bugzilla.gnome.org/show_bug.cgi?id=655804
Non AV streams keep using the larger threshold (10 minutes), as
subtitles may arrive only every so often.
Vincent Penquerc'h [Mon, 28 Nov 2011 13:08:27 +0000 (13:08 +0000)]
various: fix pad template ref leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
Julien Isorce [Thu, 6 Oct 2011 15:43:19 +0000 (17:43 +0200)]
rtmp: add WSAStartup and WSACleanup on Win32
https://bugzilla.gnome.org/show_bug.cgi?id=661098
Tim-Philipp Müller [Thu, 24 Nov 2011 13:49:12 +0000 (13:49 +0000)]
aiffparse: extract ID3 tags embedded in ID3 chunks
https://bugzilla.gnome.org/show_bug.cgi?id=664725
Danilo Cesar Lemes de Paula [Fri, 25 Nov 2011 13:41:19 +0000 (11:41 -0200)]
opusenc: Fixing "Unused var" compiling error for opus codec
https://bugzilla.gnome.org/show_bug.cgi?id=664815
Vincent Penquerc'h [Fri, 25 Nov 2011 14:00:18 +0000 (14:00 +0000)]
opusenc: only use mono streams for > 2 channels
I'm getting odd results with packing streams into stereo
streams, and using only mono streams is enough in all cases.
Vincent Penquerc'h [Fri, 25 Nov 2011 12:47:42 +0000 (12:47 +0000)]
opus: add some more debug information about channel mapping
Vincent Penquerc'h [Fri, 25 Nov 2011 12:46:55 +0000 (12:46 +0000)]
opusparse: remove dead assigments
We now only keep a ref to the headers for later reuse.
Vincent Penquerc'h [Fri, 25 Nov 2011 12:40:31 +0000 (12:40 +0000)]
opusenc: do not cause the decoder to apply the channel mapping again
Since we already reorder channels, we do not want to write that
reordering in the header, or the decoder will do it again.
Vincent Penquerc'h [Fri, 25 Nov 2011 12:39:20 +0000 (12:39 +0000)]
opusdec: fix bogus assertion
Mark Nauwelaerts [Fri, 25 Nov 2011 14:49:05 +0000 (15:49 +0100)]
tests: add unit test for voamrwbenc