Commit graph

87 commits

Author SHA1 Message Date
Tim-Philipp Müller
e9141b718b audiovisualizer: don't use private GMutex implementation details
Don't use private GMutex implementation details to check
whether it has been freed already or not. Just turn dispose
function into finalize function which will only be called
once, that way we can just clear the mutex unconditionally.
2015-02-17 09:56:55 +00:00
Luis de Bethencourt
26692836f2 audiovisualizer: remove double-setting of render function
No need to set the audiovisualizer->render function twice. Once is enough.
2015-01-29 11:55:13 +00:00
Luis de Bethencourt
1b2d74728c audiovisualizer: sync with base class in -base
https://bugzilla.gnome.org/show_bug.cgi?id=742875
2015-01-21 15:31:21 +00:00
Luis de Bethencourt
6431de3286 audiovisualizer: ensure default query/event handlers are used
Sync audiovisualizer class implementation to the one in gst-plugins-base. This
commit matches 9dd0e6cccc in that module.

https://bugzilla.gnome.org/show_bug.cgi?id=742875
2015-01-21 15:06:21 +00:00
Luis de Bethencourt
ad6b8d0a3d audiovisualizer: handle the return of the setup function
Make the class future proof by handling the gboolean return of the setup
function. So if/when a child class uses this the base class is ready.
2015-01-13 16:55:14 +00:00
Luis de Bethencourt
fc56b0742c Revert "audiovisualizer: remove unused value"
This reverts commit 25c9757083.

It is preferable to handle the retun of the setup function.
2015-01-13 16:46:10 +00:00
Luis de Bethencourt
25c9757083 audiovisualizer: remove unused value
klass->setup (scope) will always return TRUE since all children of this class
do so, no need to store the return. Besides, the value is overwritten a few
lines down before it is used.

Change helps keep files in sync after:
-base commit a91d521a36
2015-01-13 15:48:36 +00:00
Luis de Bethencourt
b7fab0736d visual: use unused value
ret is assigned but not used and in the next cycle of the loop it is overwritten
with default_prepare_output_buffer (). If there is a flow error the function
should return instead.

CID #1226475
2015-01-12 15:33:42 +00:00
Luis de Bethencourt
c01af3aa8f audiovisualizer: remove check for below zero for unsigned value
CLAMP checks both if value is '< 0' and '> max'. Value will never be a negative
number since it is an unsigned integer. Removing that check and only checking if
it is bigger than max and setting it appropriately.

Also converting the previous instance of this into MIN() for consistency.

CID 1139793
2015-01-09 17:56:09 +00:00
Luis de Bethencourt
9d9a1af45a audiovisualizer: remove check if below zero for unsigned value
CLAMP checks both if y is '< 0' and '> h1'. y will never be a negative number
since it is an unsigned integer. Removing that check and only checking if it
bigger than h1 and setting it to that max approprietaly.

CID 1139792
2015-01-09 14:42:34 +00:00
Tim-Philipp Müller
d5c7a09a83 audiovisualizer: post QoS messages when dropping frames due to QoS 2014-11-02 19:26:20 +00:00
Tim-Philipp Müller
77e5c7644c audiovisualizer: fix boilerplate macros 2014-11-02 19:12:56 +00:00
Thiago Santos
c5ef1bee73 audiovisualizer: fix caps leaks
Fix leak of caps event and of caps objects when setting caps on
sink and src pads
2014-06-27 17:27:25 -03:00
Sebastian Dröge
a5ac2d3aee audiovisualizer: Enable GLib deprecation warnings again 2013-05-15 11:02:29 +02:00
Sebastian Dröge
3d09d0068d audiovisualizer: Negotiate as soon as possible when getting the sinkpad caps 2013-05-15 11:00:46 +02:00
Sebastian Dröge
e51cd4fe2f gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
Tim-Philipp Müller
a84e2ccbb8 audiovisualizer: shaders assume 32bpp
Backport fix for crashes and invalid writes in totem from libvisual
in -base, to minimise differences to version in -base and to make
sure the bug doesn't sneak back in later when the base class is
made public.

The shader code looks like it makes assumptions that are not
necessarily always true, even if they're true for now for the
existing elements, namly that pixel stride is 4, for example.

See https://bugzilla.gnome.org/show_bug.cgi?id=683527
2013-04-05 00:53:54 +01:00
Matthew Waters
bf502f5502 audiovisualizer: handle non-existant pool in the default allocation query
gst_query_set_nth_allocation_pool() requires there to be a pool in the
query already. This is not always the case when we get the query from
upstream.  Use gst_query_add_allocation_pool() instead in such case.

https://bugzilla.gnome.org/show_bug.cgi?id=681719
2013-04-05 00:38:36 +01:00
Wim Taymans
5d72759fec audiovisualizer: improve allocation
Based on patch by Matthew Waters

Add private data
Add decide_allocation vmethod
Refactor bufferpool negotiation

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681719
2013-04-05 00:37:08 +01:00
Greg Rutz
c66fd54e78 audiovisualizer: fix improper video frame clear operation
The current code is memsetting the GstVideoFrame.data address to 0s (which
causes a segfault). This member is actually an array of data buffers (one for
each plane).  This fix iterates over each data plane to clear them all.

https://bugzilla.gnome.org/show_bug.cgi?id=695655
2013-03-13 00:40:24 +00:00
Stefan Sauer
09764eca37 audiovisualizers: add comments for monoscope porting 2013-02-07 07:29:17 +01:00
Tim-Philipp Müller
9f7e7d305d gst_adapter_prev_timestamp -> gst_adapter_prev_pts 2012-11-14 12:41:27 +00:00
Tim-Philipp Müller
9e1b75fda3 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:09:59 +00:00
Tim-Philipp Müller
32ba17cd0f Use gst_element_class_set_static_metadata()
where possible. Avoids some string copies. Also re-indent
some stuff. Also some indent fixes here and there.
2012-10-17 17:46:34 +01:00
Mark Nauwelaerts
578861abea replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-09-14 17:27:49 +02:00
Olivier Crête
77d4a59969 audiovisualizer: Don't try to sync controller values to invalid timestamp 2012-09-11 19:41:31 -04:00
Stefan Sauer
c1923a6755 audiovisualizer: revert renaming of the type
The special type name was lost when merging from base.
2012-08-22 15:10:25 +02:00
Tim-Philipp Müller
875b079d4b audiovisualizer: avoid registering enum type of same name as libvisual plugin in -base 2012-08-21 13:29:16 +01:00
Stefan Sauer
4132d222cb audiovisualizer: sync to change in base and port
Add support for GstVideoMeta and GstVideoFrame. Remove some redundant fields
that are also in GstVideoInfo. Don't disable the shader code, it does not
look broken.
2012-08-17 22:57:10 +02:00
Stefan Sauer
48cf0f3a77 audiovisualizer: status update 2012-08-17 15:16:00 +02:00
Stefan Sauer
ce221fdbdd visualizer: small cleanup
Apply cleanup from copy in base.
2012-08-15 11:26:59 +02:00
Wim Taymans
658e54ff8c audiovisualizer: fixate caps 2012-07-24 12:28:18 +02:00
Stefan Sauer
62e5afb95e spectrascope: fabs->sqrt to calculate the magnitude 2012-07-19 16:11:02 +02:00
Stefan Sauer
124c9a7fa4 audiovisualizer: shorten base class name
As suggested on IRC rename to AudioVisualizer. We use custom suffix on the type
to avoid clashing with other copies for the time being.
2012-07-16 22:02:44 +02:00
Stefan Sauer
266d1f62c0 audiovisualizers: update baseclass from libvisual porting 2012-07-08 19:27:23 +02:00
Stefan Sauer
046d3ab98f spectrascope: avoid dark pixels in fade-and-move-up mode 2012-06-24 21:11:39 +02:00
Stefan Sauer
65fa897f93 audiovisualizers: fix input buffer handling
Use _replace instead of _append to fix growing buffers.
2012-06-24 20:55:37 +02:00
Sebastian Dröge
701da03ff9 elements: Use gst_pad_set_caps() instead of manual event fiddling 2012-06-08 15:58:36 +02:00
Sebastian Dröge
cda192b3b7 gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 18:02:56 +02:00
Sebastian Dröge
1318a97e0a gst: Update versioning 2012-04-04 14:44:34 +02:00
Wim Taymans
48ba9063b0 update for buffer api change 2012-03-30 18:15:36 +02:00
Sebastian Dröge
860ccd414d Merge remote-tracking branch 'origin/0.10'
Conflicts:
	NEWS
	RELEASE
	common
	configure.ac
	docs/libs/gst-plugins-bad-libs-sections.txt
	docs/plugins/gst-plugins-bad-plugins.args
	docs/plugins/gst-plugins-bad-plugins.hierarchy
	docs/plugins/gst-plugins-bad-plugins.interfaces
	docs/plugins/inspect/plugin-adpcmdec.xml
	docs/plugins/inspect/plugin-adpcmenc.xml
	docs/plugins/inspect/plugin-assrender.xml
	docs/plugins/inspect/plugin-audiovisualizers.xml
	docs/plugins/inspect/plugin-autoconvert.xml
	docs/plugins/inspect/plugin-bayer.xml
	docs/plugins/inspect/plugin-bz2.xml
	docs/plugins/inspect/plugin-camerabin2.xml
	docs/plugins/inspect/plugin-celt.xml
	docs/plugins/inspect/plugin-dataurisrc.xml
	docs/plugins/inspect/plugin-debugutilsbad.xml
	docs/plugins/inspect/plugin-dtmf.xml
	docs/plugins/inspect/plugin-dtsdec.xml
	docs/plugins/inspect/plugin-dvbsuboverlay.xml
	docs/plugins/inspect/plugin-dvdspu.xml
	docs/plugins/inspect/plugin-faac.xml
	docs/plugins/inspect/plugin-faad.xml
	docs/plugins/inspect/plugin-gsm.xml
	docs/plugins/inspect/plugin-h264parse.xml
	docs/plugins/inspect/plugin-mms.xml
	docs/plugins/inspect/plugin-modplug.xml
	docs/plugins/inspect/plugin-mpeg2enc.xml
	docs/plugins/inspect/plugin-mpegdemux2.xml
	docs/plugins/inspect/plugin-mpegtsdemux.xml
	docs/plugins/inspect/plugin-mpegvideoparse.xml
	docs/plugins/inspect/plugin-mplex.xml
	docs/plugins/inspect/plugin-pcapparse.xml
	docs/plugins/inspect/plugin-rawparse.xml
	docs/plugins/inspect/plugin-rtpmux.xml
	docs/plugins/inspect/plugin-rtpvp8.xml
	docs/plugins/inspect/plugin-scaletempo.xml
	docs/plugins/inspect/plugin-schro.xml
	docs/plugins/inspect/plugin-sdp.xml
	docs/plugins/inspect/plugin-segmentclip.xml
	docs/plugins/inspect/plugin-shm.xml
	docs/plugins/inspect/plugin-videomaxrate.xml
	docs/plugins/inspect/plugin-videoparsersbad.xml
	docs/plugins/inspect/plugin-vp8.xml
	docs/plugins/inspect/plugin-y4mdec.xml
	ext/celt/gstceltdec.c
	ext/dts/gstdtsdec.c
	ext/modplug/gstmodplug.cc
	ext/opus/gstopusenc.c
	gst-libs/gst/video/gstbasevideocodec.c
	gst-libs/gst/video/gstbasevideocodec.h
	gst-libs/gst/video/gstbasevideodecoder.c
	gst-libs/gst/video/gstbasevideodecoder.h
	gst-libs/gst/video/gstbasevideoencoder.c
	gst-libs/gst/video/gstbasevideoencoder.h
	gst/adpcmdec/Makefile.am
	gst/audiovisualizers/gstbaseaudiovisualizer.c
	gst/h264parse/gsth264parse.c
	gst/mpegdemux/mpegtsparse.c
	gst/mpegtsdemux/mpegtsbase.c
	gst/mpegtsdemux/mpegtspacketizer.c
	gst/mpegtsdemux/mpegtsparse.c
	gst/mpegtsdemux/tsdemux.c
	gst/mpegtsdemux/tsdemux.h
	gst/mxf/mxfdemux.c
	gst/rawparse/gstaudioparse.c
	gst/videoparsers/gsth263parse.c
	gst/videoparsers/gsth264parse.c
	sys/d3dvideosink/d3dvideosink.c
	sys/decklink/gstdecklinksink.cpp
	sys/dvb/gstdvbsrc.c
	sys/shm/gstshmsrc.c
	sys/vdpau/h264/gstvdph264dec.c
	sys/vdpau/mpeg/gstvdpmpegdec.c
	tests/examples/opencv/gst_element_print_properties.c
	win32/common/config.h
2012-03-29 17:41:53 +02:00
Wim Taymans
ed82d408b1 update for bufferpool changes 2012-03-15 22:11:32 +01:00
Wim Taymans
583f5d1dc7 update for allocation query changes 2012-03-15 20:38:27 +01:00
Wim Taymans
9f700cc3c4 take padding into account 2012-03-14 19:56:59 +01:00
Wim Taymans
77299ba6ae fix for caps api changes 2012-03-11 19:06:59 +01:00
Sebastian Dröge
e214b31f5c baseaudiovisualizer: Fix 'comparison of unsigned expression >= 0 is always true' compiler warning 2012-03-06 14:38:47 +01:00
Stefan Sauer
f88c45c0cf audiovisualizers: planning + example update 2012-03-04 19:57:14 +01:00
Wim Taymans
470854b6e3 update for new memory api 2012-02-22 02:10:35 +01:00
Wim Taymans
1119f6ee41 Merge branch 'master' into 0.11
Conflicts:
	ext/chromaprint/gstchromaprint.c
	ext/mpeg2enc/Makefile.am
	ext/voaacenc/gstvoaacenc.c
	gst/dvbsuboverlay/gstdvbsuboverlay.c
	gst/mpegtsdemux/mpegtsbase.c
	gst/sdp/gstsdpdemux.c
	gst/videoparsers/gsth264parse.c
	sys/d3dvideosink/d3dvideosink.c
	tests/examples/camerabin/gst-camera-perf.c
	tests/examples/camerabin/gst-camerabin-test.c
	tests/examples/camerabin2/gst-camerabin2-test.c
	tests/examples/mxf/mxfdemux-structure.c
	tests/examples/scaletempo/demo-main.c
2012-02-10 16:46:50 +01:00