mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-27 09:38:17 +00:00
configure.ac: Require core CVS. This is implicit in the -base CVS requirement already, so we might just well spell i...
Original commit message from CVS: * configure.ac: Require core CVS. This is implicit in the -base CVS requirement already, so we might just well spell it out. Also, we do need at least 0.10.14 for gst_element_class_set_details_simple(). Make check for gmyth a bit more restrictive so things don't break if the next version changes API. * ext/alsaspdif/alsaspdifsink.c: Work around alsa alloca macros triggering 'always evaluates to true' warnings with gcc-4.2 and fix compilation with gcc-4.2. Also don't leak the device string. * ext/mpeg2enc/gstmpeg2enc.cc: * ext/soundtouch/gstpitch.cc: * gst/modplug/gstmodplug.cc: Fix compilation with g++4.2 and -Wall -Werror (also needs plugin define fix from core CVS). Fixes #462737.
This commit is contained in:
parent
d73a5f3250
commit
bb6c23aa43
6 changed files with 67 additions and 41 deletions
21
ChangeLog
21
ChangeLog
|
@ -1,3 +1,24 @@
|
||||||
|
2007-10-10 Tim-Philipp Müller <tim at centricular dot net>
|
||||||
|
|
||||||
|
* configure.ac:
|
||||||
|
Require core CVS. This is implicit in the -base CVS
|
||||||
|
requirement already, so we might just well spell it
|
||||||
|
out. Also, we do need at least 0.10.14 for
|
||||||
|
gst_element_class_set_details_simple(). Make check
|
||||||
|
for gmyth a bit more restrictive so things don't break
|
||||||
|
if the next version changes API.
|
||||||
|
|
||||||
|
* ext/alsaspdif/alsaspdifsink.c:
|
||||||
|
Work around alsa alloca macros triggering 'always evaluates to
|
||||||
|
true' warnings with gcc-4.2 and fix compilation with gcc-4.2.
|
||||||
|
Also don't leak the device string.
|
||||||
|
|
||||||
|
* ext/mpeg2enc/gstmpeg2enc.cc:
|
||||||
|
* ext/soundtouch/gstpitch.cc:
|
||||||
|
* gst/modplug/gstmodplug.cc:
|
||||||
|
Fix compilation with g++4.2 and -Wall -Werror (also needs plugin
|
||||||
|
define fix from core CVS). Fixes #462737.
|
||||||
|
|
||||||
2007-10-09 Wim Taymans <wim.taymans@gmail.com>
|
2007-10-09 Wim Taymans <wim.taymans@gmail.com>
|
||||||
|
|
||||||
Patch by: Laurent Glayal <spglegle at yahoo dot fr>
|
Patch by: Laurent Glayal <spglegle at yahoo dot fr>
|
||||||
|
|
|
@ -45,7 +45,7 @@ AM_PROG_LIBTOOL
|
||||||
|
|
||||||
dnl *** required versions of GStreamer stuff ***
|
dnl *** required versions of GStreamer stuff ***
|
||||||
dnl *** remove rtpmanager/equalizer stuff below when this is updated
|
dnl *** remove rtpmanager/equalizer stuff below when this is updated
|
||||||
GST_REQ=0.10.13
|
GST_REQ=0.10.14.1
|
||||||
GSTPB_REQ=0.10.14.1
|
GSTPB_REQ=0.10.14.1
|
||||||
|
|
||||||
dnl *** autotools stuff ****
|
dnl *** autotools stuff ****
|
||||||
|
@ -701,7 +701,7 @@ AG_GST_CHECK_FEATURE(MUSICBRAINZ, [musicbrainz tag generation], musicbrainz, [
|
||||||
dnl *** MythTV ***
|
dnl *** MythTV ***
|
||||||
translit(dnm, m, l) AM_CONDITIONAL(USE_MYTHTV, true)
|
translit(dnm, m, l) AM_CONDITIONAL(USE_MYTHTV, true)
|
||||||
AG_GST_CHECK_FEATURE(MYTHTV, [MythTV client plugins], mythtvsrc, [
|
AG_GST_CHECK_FEATURE(MYTHTV, [MythTV client plugins], mythtvsrc, [
|
||||||
PKG_CHECK_MODULES(GMYTH, gmyth >= 0.4, HAVE_MYTHTV="yes", [
|
PKG_CHECK_MODULES(GMYTH, gmyth >= 0.4 gmyth <= 0.4.99, HAVE_MYTHTV="yes", [
|
||||||
HAVE_MYTHTV="no"
|
HAVE_MYTHTV="no"
|
||||||
AC_MSG_RESULT(no)
|
AC_MSG_RESULT(no)
|
||||||
])
|
])
|
||||||
|
|
|
@ -122,6 +122,7 @@ static GstClock *alsaspdifsink_provide_clock (GstElement * elem);
|
||||||
static GstClockTime alsaspdifsink_get_time (GstClock * clock,
|
static GstClockTime alsaspdifsink_get_time (GstClock * clock,
|
||||||
gpointer user_data);
|
gpointer user_data);
|
||||||
static void alsaspdifsink_dispose (GObject * object);
|
static void alsaspdifsink_dispose (GObject * object);
|
||||||
|
static void alsaspdifsink_finalize (GObject * object);
|
||||||
|
|
||||||
static GstStateChangeReturn alsaspdifsink_change_state (GstElement * element,
|
static GstStateChangeReturn alsaspdifsink_change_state (GstElement * element,
|
||||||
GstStateChange transition);
|
GstStateChange transition);
|
||||||
|
@ -155,6 +156,7 @@ alsaspdifsink_class_init (AlsaSPDIFSinkClass * klass)
|
||||||
gobject_class->set_property = alsaspdifsink_set_property;
|
gobject_class->set_property = alsaspdifsink_set_property;
|
||||||
gobject_class->get_property = alsaspdifsink_get_property;
|
gobject_class->get_property = alsaspdifsink_get_property;
|
||||||
gobject_class->dispose = alsaspdifsink_dispose;
|
gobject_class->dispose = alsaspdifsink_dispose;
|
||||||
|
gobject_class->finalize = alsaspdifsink_finalize;
|
||||||
|
|
||||||
gstelement_class->change_state = alsaspdifsink_change_state;
|
gstelement_class->change_state = alsaspdifsink_change_state;
|
||||||
gstelement_class->provide_clock = alsaspdifsink_provide_clock;
|
gstelement_class->provide_clock = alsaspdifsink_provide_clock;
|
||||||
|
@ -204,6 +206,17 @@ alsaspdifsink_dispose (GObject * object)
|
||||||
G_OBJECT_CLASS (parent_class)->dispose (object);
|
G_OBJECT_CLASS (parent_class)->dispose (object);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
alsaspdifsink_finalize (GObject * object)
|
||||||
|
{
|
||||||
|
AlsaSPDIFSink *sink = ALSASPDIFSINK (object);
|
||||||
|
|
||||||
|
g_free (sink->device);
|
||||||
|
sink->device = NULL;
|
||||||
|
|
||||||
|
G_OBJECT_CLASS (parent_class)->finalize (object);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
alsaspdifsink_set_property (GObject * object, guint prop_id,
|
alsaspdifsink_set_property (GObject * object, guint prop_id,
|
||||||
const GValue * value, GParamSpec * pspec)
|
const GValue * value, GParamSpec * pspec)
|
||||||
|
@ -293,9 +306,6 @@ alsaspdifsink_open (AlsaSPDIFSink * sink)
|
||||||
char devstr[256]; /* Storage for local 'default' device string */
|
char devstr[256]; /* Storage for local 'default' device string */
|
||||||
GstClockTime time;
|
GstClockTime time;
|
||||||
|
|
||||||
snd_pcm_hw_params_alloca (¶ms);
|
|
||||||
snd_pcm_sw_params_alloca (&sw_params);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Try and open our default iec958 device. Fall back to searching on card x
|
* Try and open our default iec958 device. Fall back to searching on card x
|
||||||
* if this fails, which should only happen on older alsa setups
|
* if this fails, which should only happen on older alsa setups
|
||||||
|
@ -336,6 +346,9 @@ alsaspdifsink_open (AlsaSPDIFSink * sink)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
snd_pcm_hw_params_malloc (¶ms);
|
||||||
|
snd_pcm_sw_params_malloc (&sw_params);
|
||||||
|
|
||||||
err = snd_pcm_hw_params_any (sink->pcm, params);
|
err = snd_pcm_hw_params_any (sink->pcm, params);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
GST_ELEMENT_ERROR (sink, RESOURCE, OPEN_WRITE,
|
GST_ELEMENT_ERROR (sink, RESOURCE, OPEN_WRITE,
|
||||||
|
@ -447,9 +460,13 @@ alsaspdifsink_open (AlsaSPDIFSink * sink)
|
||||||
snd_pcm_sw_params_get_avail_min (sw_params, &avail_min);
|
snd_pcm_sw_params_get_avail_min (sw_params, &avail_min);
|
||||||
GST_DEBUG_OBJECT (sink, "Avail min set to:%lu frames", avail_min);
|
GST_DEBUG_OBJECT (sink, "Avail min set to:%lu frames", avail_min);
|
||||||
|
|
||||||
|
snd_pcm_hw_params_free (params);
|
||||||
|
snd_pcm_sw_params_free (sw_params);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
__close:
|
__close:
|
||||||
|
snd_pcm_hw_params_free (params);
|
||||||
|
snd_pcm_sw_params_free (sw_params);
|
||||||
snd_pcm_close (sink->pcm);
|
snd_pcm_close (sink->pcm);
|
||||||
sink->pcm = NULL;
|
sink->pcm = NULL;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -488,14 +505,14 @@ alsaspdifsink_find_pcm_device (AlsaSPDIFSink * sink)
|
||||||
|
|
||||||
GST_WARNING ("Opening IEC958 named device failed. Trying to autodetect");
|
GST_WARNING ("Opening IEC958 named device failed. Trying to autodetect");
|
||||||
|
|
||||||
snd_ctl_card_info_alloca (&info);
|
|
||||||
snd_pcm_info_alloca (&pinfo);
|
|
||||||
|
|
||||||
if ((err = snd_ctl_open (&ctl, ctl_name, card)) < 0)
|
if ((err = snd_ctl_open (&ctl, ctl_name, card)) < 0)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
|
snd_ctl_card_info_malloc (&info);
|
||||||
|
snd_pcm_info_malloc (&pinfo);
|
||||||
|
|
||||||
/* Find a mixer for IEC958 settings */
|
/* Find a mixer for IEC958 settings */
|
||||||
snd_ctl_elem_list_alloca (&clist);
|
snd_ctl_elem_list_malloc (&clist);
|
||||||
if ((err = snd_ctl_elem_list (ctl, clist)) < 0)
|
if ((err = snd_ctl_elem_list (ctl, clist)) < 0)
|
||||||
goto beach;
|
goto beach;
|
||||||
|
|
||||||
|
@ -516,7 +533,7 @@ alsaspdifsink_find_pcm_device (AlsaSPDIFSink * sink)
|
||||||
err = 0;
|
err = 0;
|
||||||
goto beach;
|
goto beach;
|
||||||
}
|
}
|
||||||
snd_ctl_elem_id_alloca (&cid);
|
snd_ctl_elem_id_malloc (&cid);
|
||||||
snd_ctl_elem_list_get_id (clist, idx, cid);
|
snd_ctl_elem_list_get_id (clist, idx, cid);
|
||||||
|
|
||||||
/* Now find a PCM device for IEC 958 */
|
/* Now find a PCM device for IEC 958 */
|
||||||
|
@ -572,7 +589,7 @@ alsaspdifsink_find_pcm_device (AlsaSPDIFSink * sink)
|
||||||
snd_aes_iec958_t iec958;
|
snd_aes_iec958_t iec958;
|
||||||
|
|
||||||
/* Have a PCM device and a mixer, set things up */
|
/* Have a PCM device and a mixer, set things up */
|
||||||
snd_ctl_elem_value_alloca (&cval);
|
snd_ctl_elem_value_malloc (&cval);
|
||||||
snd_ctl_elem_value_set_id (cval, cid);
|
snd_ctl_elem_value_set_id (cval, cid);
|
||||||
snd_ctl_elem_value_get_iec958 (cval, &iec958);
|
snd_ctl_elem_value_get_iec958 (cval, &iec958);
|
||||||
iec958.status[0] = IEC958_AES0_NONAUDIO;
|
iec958.status[0] = IEC958_AES0_NONAUDIO;
|
||||||
|
@ -580,6 +597,7 @@ alsaspdifsink_find_pcm_device (AlsaSPDIFSink * sink)
|
||||||
iec958.status[2] = 0;
|
iec958.status[2] = 0;
|
||||||
iec958.status[3] = IEC958_AES3_CON_FS_48000;
|
iec958.status[3] = IEC958_AES3_CON_FS_48000;
|
||||||
snd_ctl_elem_value_set_iec958 (cval, &iec958);
|
snd_ctl_elem_value_set_iec958 (cval, &iec958);
|
||||||
|
snd_ctl_elem_value_free (cval);
|
||||||
|
|
||||||
sink->pcm = pcm;
|
sink->pcm = pcm;
|
||||||
pcm = NULL;
|
pcm = NULL;
|
||||||
|
@ -591,6 +609,10 @@ beach:
|
||||||
snd_pcm_close (pcm);
|
snd_pcm_close (pcm);
|
||||||
snd_ctl_elem_list_clear (clist);
|
snd_ctl_elem_list_clear (clist);
|
||||||
snd_ctl_close (ctl);
|
snd_ctl_close (ctl);
|
||||||
|
snd_ctl_elem_list_free (clist);
|
||||||
|
snd_ctl_elem_id_free (cid);
|
||||||
|
snd_ctl_card_info_free (info);
|
||||||
|
snd_pcm_info_free (pinfo);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -69,13 +69,6 @@
|
||||||
|
|
||||||
GST_DEBUG_CATEGORY (mpeg2enc_debug);
|
GST_DEBUG_CATEGORY (mpeg2enc_debug);
|
||||||
|
|
||||||
static GstElementDetails gst_mpeg2enc_details =
|
|
||||||
GST_ELEMENT_DETAILS ("mpeg2enc video encoder",
|
|
||||||
"Codec/Encoder/Video",
|
|
||||||
"High-quality MPEG-1/2 video encoder",
|
|
||||||
"Andrew Stevens <andrew.stevens@nexgo.de>\n"
|
|
||||||
"Ronald Bultje <rbultje@ronald.bitfreak.net>");
|
|
||||||
|
|
||||||
#define COMMON_VIDEO_CAPS \
|
#define COMMON_VIDEO_CAPS \
|
||||||
"width = (int) [ 16, 4096 ], " \
|
"width = (int) [ 16, 4096 ], " \
|
||||||
"height = (int) [ 16, 4096 ], " \
|
"height = (int) [ 16, 4096 ], " \
|
||||||
|
@ -121,7 +114,11 @@ gst_mpeg2enc_base_init (gpointer klass)
|
||||||
{
|
{
|
||||||
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
|
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
|
||||||
|
|
||||||
gst_element_class_set_details (element_class, &gst_mpeg2enc_details);
|
gst_element_class_set_details_simple (element_class,
|
||||||
|
"mpeg2enc video encoder", "Codec/Encoder/Video",
|
||||||
|
"High-quality MPEG-1/2 video encoder",
|
||||||
|
"Andrew Stevens <andrew.stevens@nexgo.de>\n"
|
||||||
|
"Ronald Bultje <rbultje@ronald.bitfreak.net>");
|
||||||
|
|
||||||
gst_element_class_add_pad_template (element_class,
|
gst_element_class_add_pad_template (element_class,
|
||||||
gst_static_pad_template_get (&src_template));
|
gst_static_pad_template_get (&src_template));
|
||||||
|
|
|
@ -47,23 +47,12 @@ struct _GstPitchPrivate
|
||||||
soundtouch::SoundTouch * st;
|
soundtouch::SoundTouch * st;
|
||||||
};
|
};
|
||||||
|
|
||||||
static GstElementDetails gst_pitch_details =
|
|
||||||
GST_ELEMENT_DETAILS ("Pitch controller",
|
|
||||||
"Filter/Converter/Audio",
|
|
||||||
"Control the pitch of an audio stream",
|
|
||||||
"Wouter Paesen <wouter@kangaroot.net>");
|
|
||||||
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
LAST_SIGNAL
|
|
||||||
};
|
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
ARG_0,
|
ARG_0,
|
||||||
ARG_RATE,
|
ARG_RATE,
|
||||||
ARG_TEMPO,
|
ARG_TEMPO,
|
||||||
ARG_PITCH,
|
ARG_PITCH
|
||||||
};
|
};
|
||||||
|
|
||||||
#define SUPPORTED_CAPS \
|
#define SUPPORTED_CAPS \
|
||||||
|
@ -117,7 +106,9 @@ gst_pitch_base_init (gpointer g_class)
|
||||||
gst_element_class_add_pad_template (gstelement_class,
|
gst_element_class_add_pad_template (gstelement_class,
|
||||||
gst_static_pad_template_get (&gst_pitch_sink_template));
|
gst_static_pad_template_get (&gst_pitch_sink_template));
|
||||||
|
|
||||||
gst_element_class_set_details (gstelement_class, &gst_pitch_details);
|
gst_element_class_set_details_simple (gstelement_class, "Pitch controller",
|
||||||
|
"Filter/Converter/Audio", "Control the pitch of an audio stream",
|
||||||
|
"Wouter Paesen <wouter@kangaroot.net>");
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -56,14 +56,6 @@
|
||||||
GST_DEBUG_CATEGORY_STATIC (modplug_debug);
|
GST_DEBUG_CATEGORY_STATIC (modplug_debug);
|
||||||
#define GST_CAT_DEFAULT modplug_debug
|
#define GST_CAT_DEFAULT modplug_debug
|
||||||
|
|
||||||
/* elementfactory information */
|
|
||||||
GstElementDetails modplug_details = {
|
|
||||||
"ModPlug",
|
|
||||||
"Codec/Decoder/Audio",
|
|
||||||
"Module decoder based on modplug engine",
|
|
||||||
"Jeremy SIMON <jsimon13@yahoo.fr>"
|
|
||||||
};
|
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
ARG_0,
|
ARG_0,
|
||||||
|
@ -148,7 +140,10 @@ gst_modplug_base_init (gpointer g_class)
|
||||||
gst_static_pad_template_get (&modplug_sink_template_factory));
|
gst_static_pad_template_get (&modplug_sink_template_factory));
|
||||||
gst_element_class_add_pad_template (element_class,
|
gst_element_class_add_pad_template (element_class,
|
||||||
gst_static_pad_template_get (&modplug_src_template_factory));
|
gst_static_pad_template_get (&modplug_src_template_factory));
|
||||||
gst_element_class_set_details (element_class, &modplug_details);
|
|
||||||
|
gst_element_class_set_details_simple (element_class, "ModPlug",
|
||||||
|
"Codec/Decoder/Audio", "Module decoder based on modplug engine",
|
||||||
|
"Jeremy SIMON <jsimon13@yahoo.fr>");
|
||||||
|
|
||||||
GST_DEBUG_CATEGORY_INIT (modplug_debug, "modplug", 0, "ModPlug element");
|
GST_DEBUG_CATEGORY_INIT (modplug_debug, "modplug", 0, "ModPlug element");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue