Wim Taymans [Mon, 20 Aug 2012 08:50:59 +0000 (10:50 +0200)]
video: expose gst_video_info_align
Expose the gst_video_info_align function that adds padding and does stride
alignment on a GstVideoInfo. Move this previously private function to
video-info.co
Move the definition of the alignment structure to video.h where it can be picked
up by both the bufferpool and the video-info.
Wim Taymans [Mon, 20 Aug 2012 08:16:59 +0000 (10:16 +0200)]
videopool: improve alignment
Check the alignment of the strides in gst_video_info_align and increase the
padding on the frame until the strides are aligned.
Wim Taymans [Mon, 20 Aug 2012 08:03:09 +0000 (10:03 +0200)]
videopool: improve alignment
Align each plane instead of each component, we might otherwise apply the
alignment adjustement twice if a plane contains multiple components.
Wim Taymans [Mon, 13 Aug 2012 14:42:32 +0000 (16:42 +0200)]
video-format: fix docs a little
Tim-Philipp Müller [Sun, 19 Aug 2012 16:05:04 +0000 (17:05 +0100)]
toos: fix build and distcheck some more
The .in file is gone now.
Tim-Philipp Müller [Sat, 18 Aug 2012 20:36:09 +0000 (21:36 +0100)]
tools: remove gst-visualise script
Bit pointless really and clearly unused since the 0.8 days.
Also simplify Makefile while we're at it.
Tim-Philipp Müller [Sat, 18 Aug 2012 20:33:38 +0000 (21:33 +0100)]
videoscale: mark Lanczos method as experimental/unstable
It's known to crash in some circumstances.
Tim-Philipp Müller [Sat, 18 Aug 2012 20:18:57 +0000 (21:18 +0100)]
tools: remove man page for tool that no longer exists
Tim-Philipp Müller [Sat, 18 Aug 2012 20:15:24 +0000 (21:15 +0100)]
tools: remove obsolete filterstamp.sh script
There's gst-element-maker in -bad now.
Tim-Philipp Müller [Sat, 18 Aug 2012 20:13:01 +0000 (21:13 +0100)]
tools: add basic man page for gst-discoverer
https://bugzilla.gnome.org/show_bug.cgi?id=681905
Tim-Philipp Müller [Fri, 17 Aug 2012 21:54:13 +0000 (22:54 +0100)]
discoverer: remove unused 'silent' command line option
Stefan Sauer [Fri, 17 Aug 2012 21:03:52 +0000 (23:03 +0200)]
visual: enable commented out code again.
Finish the last change and reenable the shader code.
Sebastian Dröge [Thu, 16 Aug 2012 10:12:54 +0000 (12:12 +0200)]
docs: Add new video API to the docs
Sebastian Dröge [Thu, 16 Aug 2012 10:12:06 +0000 (12:12 +0200)]
video: Add methods to return a list of all pending GstVideoCodecFrames
Tim-Philipp Müller [Wed, 15 Aug 2012 23:11:00 +0000 (00:11 +0100)]
fft: shouldn't ever call exit()
Libraries shouldn't ever just call exit().
Let's hope we'll remember to cherry-pick this commit again
if we ever update these files.
https://bugzilla.gnome.org/show_bug.cgi?id=681904
Edward Hervey [Tue, 14 Aug 2012 16:53:52 +0000 (18:53 +0200)]
streamsynchronizer: Handle stream switching
* Update outgoing segment.base with accumulated time, ensuring all
streams are synchronized.
* Only consider streams as "new" is they have a STREAM_START event
with a different seqnum.
* Use GstStream segment.base instead of separate variable to store
the past running time.
* Disable passthrough
* Switch to glib 2.32 GMutex/GCond
* Avoid getting pad parent the expensive way
* Minor other fixes
Edward Hervey [Tue, 14 Aug 2012 16:50:39 +0000 (18:50 +0200)]
check: Add streamsynchronizer unit test
Edward Hervey [Tue, 14 Aug 2012 16:53:04 +0000 (18:53 +0200)]
audiobasesink: Avoid resetting ringbuffer when not needed
If the ringbuffer was configured to the same caps as previously, we
don't need to reconfigure it.
Sebastian Dröge [Tue, 14 Aug 2012 13:48:45 +0000 (15:48 +0200)]
audio/video: Add new API to the docs
Víctor Manuel Jáquez Leal [Tue, 7 Aug 2012 15:24:33 +0000 (17:24 +0200)]
audiodecoder: getter for allocator
Sometimes the decoder would use the allocator for something else than just
allocating output buffers, for example, querying different parameters.
This patch expose a getter accessor for the negotiated memory allocator.
Víctor Manuel Jáquez Leal [Tue, 7 Aug 2012 15:21:53 +0000 (17:21 +0200)]
audioencoder: getter for allocator
Sometimes the encoder would use the allocator for something else than just
allocating output buffers, for example, querying different parameters.
This patch expose a getter accessor for the negotiated memory allocator.
Víctor Manuel Jáquez Leal [Tue, 7 Aug 2012 15:19:05 +0000 (17:19 +0200)]
videoencoder: getter for allocator
Sometimes the encoder would need to use the allocator for something else than
just allocating output buffers, for example, querying different parameters.
This patch expose a getter accessor for the negotiated memory allocator.
Víctor Manuel Jáquez Leal [Mon, 6 Aug 2012 18:18:30 +0000 (20:18 +0200)]
videodecoder: getters for pool and allocator
Sometimes the decoder would need to use the pool or the allocator for
something else than just allocating output buffers. For example, the querying
for different parameters, such as asking for a bigger number of buffers to
allocate in the pool.
This patch expose a two getters accessors: one for the buffer pool and the
other for the memory allocator.
Tim-Philipp Müller [Mon, 13 Aug 2012 22:32:59 +0000 (23:32 +0100)]
audioencoder: return TRUE from _set_output_format() if all is good
Fixes not-negotiated errors in wavpackenc unit test.
Wim Taymans [Mon, 13 Aug 2012 11:47:01 +0000 (13:47 +0200)]
visual: add support for GstVideoFrame
Add support for GstVideoMeta and GstVideoFrame.
Remove some redundant fields that are also in GstVideoInfo
Disable the shader code, it looks broken.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681719
Wim Taymans [Mon, 13 Aug 2012 09:55:58 +0000 (11:55 +0200)]
visualizer: small cleanup
Wim Taymans [Mon, 13 Aug 2012 09:51:45 +0000 (11:51 +0200)]
visual: remove channel mask
We don't really care about what's inside those channels. This also makes the
caps valid because now it's no longer possible to have channels=1 and a mask
of 0x3.
Wim Taymans [Mon, 13 Aug 2012 09:27:47 +0000 (11:27 +0200)]
discovere: also parse encoded formats
The video library can now also parse encoded formats so use this to fill up the
width/height and other properties.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681535
Wim Taymans [Mon, 13 Aug 2012 09:27:26 +0000 (11:27 +0200)]
discoverer: remove \n from debug statement
Tim-Philipp Müller [Sun, 12 Aug 2012 17:10:02 +0000 (18:10 +0100)]
tests: update structure sizes for ABI test for i386
Stefan Sauer [Sun, 12 Aug 2012 07:57:11 +0000 (09:57 +0200)]
oggmux: remove superflous assignment
Stefan Sauer [Mon, 30 Jul 2012 13:38:45 +0000 (15:38 +0200)]
visual: add a FIXME as the discussion in IRC discontinued
Tim-Philipp Müller [Sat, 11 Aug 2012 09:18:37 +0000 (10:18 +0100)]
oggdemux: set HEADER flag on header packets
https://bugzilla.gnome.org/show_bug.cgi?id=681499
Tim-Philipp Müller [Sat, 11 Aug 2012 08:53:49 +0000 (09:53 +0100)]
oggmux: don't leak dropped seek event
Tim-Philipp Müller [Sat, 11 Aug 2012 07:14:27 +0000 (08:14 +0100)]
tests: update libsABI test to new structure sizes
The offset field addition in GstSegment has added
a few bytes.
Tim-Philipp Müller [Fri, 10 Aug 2012 16:08:31 +0000 (17:08 +0100)]
docs: expand GstDiscoverer::discovered signal docs a little
Evan Nemerson [Fri, 29 Jun 2012 22:46:46 +0000 (15:46 -0700)]
appsink, appsrc: skip set_callbacks APIs for introspection
https://bugzilla.gnome.org/show_bug.cgi?id=678301
Wim Taymans [Fri, 10 Aug 2012 14:58:47 +0000 (16:58 +0200)]
x11: fix alignment in non-XSHM case
Align the allocated memory to 16 bytes. When doing XSHM we are already aligned
to a page boundary but without, we use plain g_malloc, which could allocate
aligned on 8 bytes only.
See https://bugzilla.gnome.org/show_bug.cgi?id=680796
Wim Taymans [Fri, 10 Aug 2012 09:45:38 +0000 (11:45 +0200)]
x11: don't block in buffer acquire
Don't ever block when acquiring a buffer from the bufferpool in the fallback
mode. If we block, we might deadlock when going to PAUSED because we never
unlock when going to paused.
The acquire can block when there are no more buffers in the pool, this is a
sign that the pool is too small. Since we are the only ones using the pool in
the fallback case and because we scale the buffer, someone else must be using
our pool as well and is doing something bad.
Tim-Philipp Müller [Fri, 10 Aug 2012 09:45:09 +0000 (10:45 +0100)]
oggmux: pick delta pad earlier during header parsing and based on video/non-video
Pick delta pad earlier during header parsing, and pick it based
on whether it's a video stream or not rather than some rather
byzantine signalling from theoraenc etc. which would set the delta
flag on header packets which oggmux would then pick up and determine
that this is a "delta-able" stream.
Since the new videodecoder-based theoraenc didn't do that any more,
we would only see the first delta flag on the second video packet,
which is after we've already muxed a few audio packets flagged as
key units, which trips up the unit test.
Fixes pipelines/oggmux unit test.
https://bugzilla.gnome.org/show_bug.cgi?id=679958
Tim-Philipp Müller [Thu, 9 Aug 2012 18:57:49 +0000 (19:57 +0100)]
videodecoder: fix seeking again
Add missing break in FLUSH_STOP case.
Sebastian Dröge [Thu, 9 Aug 2012 15:06:31 +0000 (17:06 +0200)]
audioencoder: Let global tag events be handled the same way as other events
Sebastian Dröge [Thu, 9 Aug 2012 14:55:19 +0000 (16:55 +0200)]
audiodecoder: Let global tag events be handled the same way as other events
Sebastian Dröge [Thu, 9 Aug 2012 14:24:47 +0000 (16:24 +0200)]
audio: Merge upstream stream tags
Sebastian Dröge [Thu, 9 Aug 2012 14:19:32 +0000 (16:19 +0200)]
video: Merge upstream stream tags
Sebastian Dröge [Thu, 9 Aug 2012 14:09:46 +0000 (16:09 +0200)]
theoradec: Use new video decoder tag API
Sebastian Dröge [Thu, 9 Aug 2012 14:03:25 +0000 (16:03 +0200)]
docs: Add new video API to the docs
Sebastian Dröge [Thu, 9 Aug 2012 14:02:42 +0000 (16:02 +0200)]
videodecoder: Add API to conveniently handle tags
Sebastian Dröge [Thu, 9 Aug 2012 14:02:15 +0000 (16:02 +0200)]
videoencoder: Add API to conveniently handle tags
Sebastian Dröge [Thu, 9 Aug 2012 13:48:03 +0000 (15:48 +0200)]
audio: Always keep a complete taglist around
Otherwise updates to the tags will cause non-updated
tags to be lost downstream.
Sebastian Dröge [Thu, 9 Aug 2012 13:30:30 +0000 (15:30 +0200)]
docs: Add new audio base classes API to the docs
Sebastian Dröge [Thu, 9 Aug 2012 13:27:33 +0000 (15:27 +0200)]
audioencoder: Add negotiate vfunc that is used to negotiate with downstream
The default implementation negotiates a buffer pool and allocator
with downstream.
Sebastian Dröge [Thu, 9 Aug 2012 13:20:45 +0000 (15:20 +0200)]
audioencoder: Decouple setting of output format and downstream negotiation
This makes the audio encoder base class more similar to the video
encoder base class.
Sebastian Dröge [Thu, 9 Aug 2012 13:07:18 +0000 (15:07 +0200)]
audiodecoder: Add negotiate vfunc that is used to negotiate with downstream
The default implementation negotiates a buffer pool and allocator
with downstream.
Sebastian Dröge [Thu, 9 Aug 2012 13:02:27 +0000 (15:02 +0200)]
audiodecoder: Decouple setting of output format and downstream negotiation
This makes the audio decoder base class more similar to the video
decoder base class.
Sebastian Dröge [Thu, 9 Aug 2012 12:39:18 +0000 (14:39 +0200)]
videoencoder: Add negotiate vfunc that is used to negotiate with downstream
The default implementation negotiates a buffer pool and allocator
with downstream.
Sebastian Dröge [Thu, 9 Aug 2012 12:35:22 +0000 (14:35 +0200)]
videodecoder: Add negotiate vfunc that is used to negotiate with downstream
The default implementation negotiates a buffer pool and allocator
with downstream.
Tim-Philipp Müller [Wed, 8 Aug 2012 23:54:30 +0000 (00:54 +0100)]
tests: fix vorbisdec test
There won't be a tag messages on the bus, because tags
are now sent downstream for sinks to post on the bus,
and there's no sink involved here that would do that.
Secondly, the audio decoder base class only sends the
tags out once it has received some non-header data as
input, which is not something we're providing here.
Sebastian Dröge [Wed, 8 Aug 2012 14:12:20 +0000 (16:12 +0200)]
gst: Set alignment at the correct place of GstAllocationParams
Andoni Morales Alastruey [Wed, 8 Aug 2012 13:07:49 +0000 (15:07 +0200)]
oggdemux: add proper cast for print
Andoni Morales Alastruey [Wed, 8 Aug 2012 12:59:49 +0000 (14:59 +0200)]
videoencoder: add proper format for gsize
Andoni Morales Alastruey [Wed, 8 Aug 2012 12:55:56 +0000 (14:55 +0200)]
rtpbuffer: use proper format for gsize
Sebastian Dröge [Wed, 8 Aug 2012 13:28:52 +0000 (15:28 +0200)]
videoencoder: Always propose a video buffer pool when the subclass didn't provide one
And also request 16-byte aligned buffers if the subclass didn't
set anything else.
Tim-Philipp Müller [Wed, 8 Aug 2012 15:21:22 +0000 (16:21 +0100)]
Back to development
Tim-Philipp Müller [Wed, 8 Aug 2012 14:08:33 +0000 (15:08 +0100)]
Release 0.11.93
Sreerenj Balachandran [Wed, 8 Aug 2012 10:04:32 +0000 (13:04 +0300)]
videoconvert: fix example pipeline in docs
There is no more 'fourcc' typecast for format.
https://bugzilla.gnome.org/show_bug.cgi?id=681436
Sebastian Dröge [Wed, 8 Aug 2012 10:19:31 +0000 (12:19 +0200)]
videofilter: Really add a buffer pool if none was provided
And also use the allocation parameters from the query if any
and if there are none set our own (16-byte alignment) on the
query.
Sreerenj Balachandran [Wed, 8 Aug 2012 09:06:45 +0000 (12:06 +0300)]
videofilter: Fix the crash in propose_allocation
Always set a buffer pool if none is provided and don't
set/unref a NULL buffer pool on the query.
https://bugzilla.gnome.org/show_bug.cgi?id=681436
Tim-Philipp Müller [Wed, 8 Aug 2012 09:19:20 +0000 (10:19 +0100)]
Silence some 'variable may be used uninitialized' compiler warnings
when compiling with -DG_DISABLE_ASSERT
Tim-Philipp Müller [Wed, 8 Aug 2012 09:11:48 +0000 (10:11 +0100)]
No statements with side-effects in g_assert() or g_return_*() please
Tim-Philipp Müller [Wed, 8 Aug 2012 08:06:30 +0000 (09:06 +0100)]
Update .gitignore
Olivier Crête [Tue, 7 Aug 2012 20:58:21 +0000 (13:58 -0700)]
theoradec: Drop ignored headers
Instead of finishing an empty frame, call drop_frame as we're
ignoring the header frame.
Руслан Ижбулатов [Mon, 6 Aug 2012 13:28:06 +0000 (17:28 +0400)]
docs: Add proper libraries to GST_LIBS instead (-base)
Руслан Ижбулатов [Mon, 6 Aug 2012 11:23:51 +0000 (15:23 +0400)]
discoverer: Add source-setup signal for GstDiscoverer
https://bugzilla.gnome.org/show_bug.cgi?id=681260
Sebastian Dröge [Sat, 4 Aug 2012 10:28:45 +0000 (12:28 +0200)]
tagdemux: Add stream-id to stream-start event
Sebastian Dröge [Sat, 4 Aug 2012 10:16:44 +0000 (12:16 +0200)]
oggdemux: Add stream-id to the stream-start event
Tim-Philipp Müller [Sun, 5 Aug 2012 16:25:59 +0000 (17:25 +0100)]
tests: remove custom tcase_skip_broken_test define which is now in core
Tim-Philipp Müller [Sun, 5 Aug 2012 16:21:31 +0000 (17:21 +0100)]
tests: silence FIXMEs when running videoscale unit test
Tim-Philipp Müller [Sun, 5 Aug 2012 15:37:55 +0000 (16:37 +0100)]
Automatic update of common submodule
From 94ccf4c to 668acee
Tim-Philipp Müller [Sun, 5 Aug 2012 13:39:01 +0000 (14:39 +0100)]
video: make sure g-i doesn't parse orc-generated video-orc.h file
It's not public API.
Tim-Philipp Müller [Sat, 4 Aug 2012 22:29:27 +0000 (23:29 +0100)]
pbutils: use generic marshaller for discoverer's "discovered" signal
If this change causes build issues, run git clean -x -d -f; ./autogen.sh
Tim-Philipp Müller [Sat, 4 Aug 2012 22:09:06 +0000 (23:09 +0100)]
encodebin: use generic marshaller for signal
Tim-Philipp Müller [Sat, 4 Aug 2012 23:41:10 +0000 (00:41 +0100)]
adder: send CAPS event downstream fixing not-negotiated errors
Make sure to send a CAPS event downstream when we get our
first input caps. This fixes not-negotiated errors and
adder use with downstream elements other than fakesink.
Even gst-launch-1.0 audiotestsrc ! adder ! pulsesink works now.
Also, flag the other sink pads as FIXED_CAPS when we receive
the first CAPS event on one of the sink pads (in addition to
setting those caps on the the sink pads), so that a caps query
will just return the fixed caps from now on.
There's still a race between other upstreams checking if
caps are accepted and sending a first buffer with possibly
different caps than the first caps we receive on some other
pad, but such is life.
Also need to take into account optional fields better/properly.
https://bugzilla.gnome.org/show_bug.cgi?id=679545
Tim-Philipp Müller [Sat, 4 Aug 2012 21:25:08 +0000 (22:25 +0100)]
tests: add adder test to check that caps are sent downstream
Tim-Philipp Müller [Sat, 4 Aug 2012 19:45:02 +0000 (20:45 +0100)]
videoscale: fix 4-tap scaling for 64-bpp formats
Fix invalid memory access caused by broken pointer arithmetic.
If we have a uint16_t *tmpbuf and add n * dest->stride to it, we
skip twice as much as we intended to because dest->stride is in
bytes and not in pixels. This made us write beyond the end of
our allocated temp buffer, and made the unit test crash.
Tim-Philipp Müller [Sat, 4 Aug 2012 18:08:20 +0000 (19:08 +0100)]
videoscale: sprinkle some G_GNUC_INTERNAL
Not sure it actually makes any difference for plugins though.
Tim-Philipp Müller [Sat, 4 Aug 2012 17:51:12 +0000 (18:51 +0100)]
videoscale: make 4tap scanline funcs static
Tim-Philipp Müller [Sat, 4 Aug 2012 18:33:32 +0000 (19:33 +0100)]
riff: fix build on big endian systems
Thiago Santos [Sun, 29 Jul 2012 03:49:31 +0000 (00:49 -0300)]
appsrc: send caps event when the user updates appsrc caps
As buffer don't have caps anymore, the caps event needs to be pushed
before buffers are pushed.
Tim-Philipp Müller [Wed, 1 Aug 2012 16:46:46 +0000 (17:46 +0100)]
tag: fix month/day extraction in ID3v2 tags
We were passing month/day in the wrong order to
gst_date_time_new_ymd().
René Stadler [Mon, 30 Jul 2012 23:19:36 +0000 (01:19 +0200)]
discoverer: fix discover_uri returning finalized info object
Tim-Philipp Müller [Sat, 28 Jul 2012 10:54:38 +0000 (11:54 +0100)]
tag: fix up EXIF writer for GstBuffer -> GstSample
Tim-Philipp Müller [Sat, 28 Jul 2012 10:13:12 +0000 (11:13 +0100)]
audiocdsrc: update for TOC API change
Sebastian Dröge [Fri, 27 Jul 2012 21:59:31 +0000 (23:59 +0200)]
tag: Update for taglist/tag event API changes
Wim Taymans [Fri, 27 Jul 2012 13:21:51 +0000 (15:21 +0200)]
update for new variable names
Sebastian Dröge [Fri, 27 Jul 2012 10:58:40 +0000 (12:58 +0200)]
streamsynchronizer: Unblock streams on FLUSH_START events
Wim Taymans [Fri, 27 Jul 2012 10:19:04 +0000 (12:19 +0200)]
videoconvert: small cleanups
Make function pointers NULL when nothing needs to be done.
Pass target pixels to dither and matrix functions so that we can later make
them operate on the target buffer memory directly.
Edward Hervey [Thu, 26 Jul 2012 16:36:53 +0000 (18:36 +0200)]
video: Make all frame_number guint32
Unifies the code and ensures that:
* subclasses needing to use the frame_number on a void* field will
always work
* wraparounds will be automatically taken care of if we have to deal
with more than 2**32 frames
Wim Taymans [Thu, 26 Jul 2012 13:40:45 +0000 (15:40 +0200)]
audio-format: fix shift for 18 bits samples
The 18bits of the sample are in the LSB so we need to shift them 14 positions to
bring them to 32 bits.
Mark Nauwelaerts [Thu, 26 Jul 2012 12:28:26 +0000 (14:28 +0200)]
video{de,en}coder: delay input caps processing until processing data
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680614