Commit graph

11879 commits

Author SHA1 Message Date
Tim-Philipp Müller 96faac2891 pango: fix bad unref and crashes with multiple text overlays
gst_element_class_get_pad_template() does not return a ref,
so we mustn't unref the template returned. Fixes crashes
when switching back and forth between different types of
subtitle streams.
2012-08-21 22:51:38 +01:00
Tim-Philipp Müller bec14e2b05 win32: add new video align API to .def file 2012-08-21 10:04:41 +01:00
Tim-Philipp Müller 5b715cdb90 video/x-dvd-subpicture -> subpicture/x-dvd 2012-08-20 21:36:15 +01:00
Wim Taymans 211b8b6004 video-frame: only copy the visible region
Make sure to only copy the visible region instead of assuming that the complete
stride is visible (which is not the case when padding is used).
2012-08-20 16:17:27 +02:00
Wim Taymans 6702a2f64c videometa: add more debug 2012-08-20 16:14:07 +02:00
Wim Taymans ee3613da1e X11: add unpadded width/height as videometa
We need to add the real width/height as the values in the video metadata instead
of the padded values.
2012-08-20 16:13:00 +02:00
Wim Taymans bc9c1685c2 X11: use new alignment function
Remove some custom padding and alignment functions and replace with the new
align function from the video library.
2012-08-20 11:19:37 +02:00
Wim Taymans 9583d1bfc9 video-info: update padding
Update the alignement structure with the new padding values because they could
have been changed when the padding was increased to align the strides.
2012-08-20 11:12:31 +02:00
Wim Taymans 9a2344c2e5 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.
2012-08-20 10:50:59 +02:00
Wim Taymans f56e1222da 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.
2012-08-20 10:25:39 +02:00
Wim Taymans ca77174f91 videopool: improve alignment
Align each plane instead of each component, we might otherwise apply the
alignment adjustement twice if a plane contains multiple components.
2012-08-20 10:06:15 +02:00
Wim Taymans 2bffebcb02 video-format: fix docs a little 2012-08-20 10:06:15 +02:00
Tim-Philipp Müller 31914e743d toos: fix build and distcheck some more
The .in file is gone now.
2012-08-19 17:05:04 +01:00
Tim-Philipp Müller 227be98c0b tools: remove gst-visualise script
Bit pointless really and clearly unused since the 0.8 days.
Also simplify Makefile while we're at it.
2012-08-18 21:38:14 +01:00
Tim-Philipp Müller 8d284f8387 videoscale: mark Lanczos method as experimental/unstable
It's known to crash in some circumstances.
2012-08-18 21:33:38 +01:00
Tim-Philipp Müller daab18b607 tools: remove man page for tool that no longer exists 2012-08-18 21:18:57 +01:00
Tim-Philipp Müller 65d65af79c tools: remove obsolete filterstamp.sh script
There's gst-element-maker in -bad now.
2012-08-18 21:16:41 +01:00
Tim-Philipp Müller daa046c1b6 tools: add basic man page for gst-discoverer
https://bugzilla.gnome.org/show_bug.cgi?id=681905
2012-08-18 21:13:01 +01:00
Tim-Philipp Müller 2a6a450001 discoverer: remove unused 'silent' command line option 2012-08-17 23:32:17 +01:00
Stefan Sauer 8222ba16c8 visual: enable commented out code again.
Finish the last change and reenable the shader code.
2012-08-17 23:04:53 +02:00
Sebastian Dröge d41504e804 docs: Add new video API to the docs 2012-08-16 12:13:25 +02:00
Sebastian Dröge bdc056c12d video: Add methods to return a list of all pending GstVideoCodecFrames 2012-08-16 12:13:25 +02:00
Tim-Philipp Müller d1dc65d6ee 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
2012-08-16 00:11:00 +01:00
Edward Hervey d86f6132ed 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
2012-08-14 18:56:30 +02:00
Edward Hervey 784ca61ced check: Add streamsynchronizer unit test 2012-08-14 18:56:14 +02:00
Edward Hervey def07410ef 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.
2012-08-14 18:56:00 +02:00
Sebastian Dröge d6dbb351c6 audio/video: Add new API to the docs 2012-08-14 15:48:45 +02:00
Víctor Manuel Jáquez Leal f7f0c55e5f 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.
2012-08-14 15:47:34 +02:00
Víctor Manuel Jáquez Leal 936ec3eb8f 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.
2012-08-14 15:47:29 +02:00
Víctor Manuel Jáquez Leal c02dcda885 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.
2012-08-14 15:47:23 +02:00
Víctor Manuel Jáquez Leal efe9e31b34 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.
2012-08-14 15:47:04 +02:00
Tim-Philipp Müller 2ff4d2efe3 audioencoder: return TRUE from _set_output_format() if all is good
Fixes not-negotiated errors in wavpackenc unit test.
2012-08-13 23:34:52 +01:00
Wim Taymans c6e19d5df2 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
2012-08-13 13:47:01 +02:00
Wim Taymans 19695f76d0 visualizer: small cleanup 2012-08-13 11:55:58 +02:00
Wim Taymans c4d97601ea 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.
2012-08-13 11:52:15 +02:00
Wim Taymans e6b606cfa3 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
2012-08-13 11:27:47 +02:00
Wim Taymans 1e8827ed33 discoverer: remove \n from debug statement 2012-08-13 11:27:26 +02:00
Tim-Philipp Müller 9db720df67 tests: update structure sizes for ABI test for i386 2012-08-12 18:10:02 +01:00
Stefan Sauer a2b1243064 oggmux: remove superflous assignment 2012-08-12 09:57:11 +02:00
Stefan Sauer 8add0de2c5 visual: add a FIXME as the discussion in IRC discontinued 2012-08-11 12:52:07 +02:00
Tim-Philipp Müller 4ed7ebc071 oggdemux: set HEADER flag on header packets
https://bugzilla.gnome.org/show_bug.cgi?id=681499
2012-08-11 10:18:37 +01:00
Tim-Philipp Müller 8b15f5a8ab oggmux: don't leak dropped seek event 2012-08-11 09:53:49 +01:00
Tim-Philipp Müller fb0e727f13 tests: update libsABI test to new structure sizes
The offset field addition in GstSegment has added
a few bytes.
2012-08-11 08:14:27 +01:00
Tim-Philipp Müller 26ec6d49a1 docs: expand GstDiscoverer::discovered signal docs a little 2012-08-10 17:08:31 +01:00
Evan Nemerson a6fc7732c1 appsink, appsrc: skip set_callbacks APIs for introspection
https://bugzilla.gnome.org/show_bug.cgi?id=678301
2012-08-10 16:07:04 +01:00
Wim Taymans 9b3849db1c 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
2012-08-10 16:58:47 +02:00
Wim Taymans da4884a834 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.
2012-08-10 12:13:57 +02:00
Tim-Philipp Müller 0dd2766d83 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
2012-08-10 10:45:09 +01:00
Tim-Philipp Müller d1299d1357 videodecoder: fix seeking again
Add missing break in FLUSH_STOP case.
2012-08-09 19:57:49 +01:00
Sebastian Dröge 62ec7f837d audioencoder: Let global tag events be handled the same way as other events 2012-08-09 17:06:31 +02:00