mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-22 14:06:23 +00:00
removal of //-style comments don't link plugins to core libs -- the versioning is done internally to the plugins with...
Original commit message from CVS: * removal of //-style comments * don't link plugins to core libs -- the versioning is done internally to the plugins with the plugin_info struct, and symbol resolution is lazy, so we can always know if a plugin can be loaded by the plugin_info data. in theory.
This commit is contained in:
parent
1ee4a02043
commit
1049c792c8
47 changed files with 672 additions and 672 deletions
|
@ -10,7 +10,7 @@ BUILT_SOURCES = \
|
||||||
|
|
||||||
libgstidentity2_la_SOURCES = gst-identity2.gob $(GOB_FILES_ID)
|
libgstidentity2_la_SOURCES = gst-identity2.gob $(GOB_FILES_ID)
|
||||||
libgstidentity2_la_CFLAGS = $(GST_CFLAGS)
|
libgstidentity2_la_CFLAGS = $(GST_CFLAGS)
|
||||||
libgstidentity2_la_LIBADD = $(GST_LIBS)
|
libgstidentity2_la_LIBADD =
|
||||||
|
|
||||||
%.c %.h %-private.h: %.gob
|
%.c %.h %-private.h: %.gob
|
||||||
gob $<
|
gob $<
|
||||||
|
|
|
@ -4,7 +4,7 @@ plugin_LTLIBRARIES = libgstalsa.la
|
||||||
|
|
||||||
libgstalsa_la_SOURCES = gstalsa.c
|
libgstalsa_la_SOURCES = gstalsa.c
|
||||||
libgstalsa_la_CFLAGS = $(GST_CFLAGS) $(ALSA_CFLAGS)
|
libgstalsa_la_CFLAGS = $(GST_CFLAGS) $(ALSA_CFLAGS)
|
||||||
libgstalsa_la_LIBADD = $(GST_LIBS) $(ALSA_LIBS)
|
libgstalsa_la_LIBADD = $(ALSA_LIBS)
|
||||||
libgstalsa_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
libgstalsa_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
||||||
|
|
||||||
noinst_HEADERS = gstalsa.h
|
noinst_HEADERS = gstalsa.h
|
||||||
|
|
|
@ -57,7 +57,7 @@ static GstPad* gst_alsa_request_new_pad (GstElement *element, GstPadTemplate *te
|
||||||
static void gst_alsa_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
|
static void gst_alsa_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
|
||||||
static void gst_alsa_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
|
static void gst_alsa_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
|
||||||
static GstElementStateReturn gst_alsa_change_state(GstElement *element);
|
static GstElementStateReturn gst_alsa_change_state(GstElement *element);
|
||||||
//static GstPadNegotiateReturn gst_alsa_negotiate(GstPad *pad, GstCaps **caps, gpointer *user_data);
|
/*static GstPadNegotiateReturn gst_alsa_negotiate(GstPad *pad, GstCaps **caps, gpointer *user_data); */
|
||||||
|
|
||||||
static GstCaps* gst_alsa_caps (GstAlsa *this);
|
static GstCaps* gst_alsa_caps (GstAlsa *this);
|
||||||
|
|
||||||
|
@ -305,7 +305,7 @@ gst_alsa_init(GstAlsa *this)
|
||||||
|
|
||||||
gst_element_add_pad(GST_ELEMENT(this), GST_ALSA_PAD(this->pads)->pad);
|
gst_element_add_pad(GST_ELEMENT(this), GST_ALSA_PAD(this->pads)->pad);
|
||||||
|
|
||||||
//gst_pad_set_negotiate_function(GST_ALSA_PAD(this->pads)->pad, gst_alsa_negotiate);
|
/*gst_pad_set_negotiate_function(GST_ALSA_PAD(this->pads)->pad, gst_alsa_negotiate); */
|
||||||
gst_element_set_loop_function(GST_ELEMENT(this), gst_alsa_loop);
|
gst_element_set_loop_function(GST_ELEMENT(this), gst_alsa_loop);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -358,7 +358,7 @@ gst_alsa_request_new_pad (GstElement *element, GstPadTemplate *templ, const gcha
|
||||||
pad->channel = channel;
|
pad->channel = channel;
|
||||||
pad->pad = gst_pad_new_from_template (templ, newname);
|
pad->pad = gst_pad_new_from_template (templ, newname);
|
||||||
gst_element_add_pad (GST_ELEMENT (this), pad->pad);
|
gst_element_add_pad (GST_ELEMENT (this), pad->pad);
|
||||||
//gst_pad_set_negotiate_function(pad->pad, gst_alsa_negotiate);
|
/*gst_pad_set_negotiate_function(pad->pad, gst_alsa_negotiate); */
|
||||||
|
|
||||||
if (this->data_interleaved && this->pads) {
|
if (this->data_interleaved && this->pads) {
|
||||||
gst_element_remove_pad (GST_ELEMENT (this), GST_ALSA_PAD(this->pads)->pad);
|
gst_element_remove_pad (GST_ELEMENT (this), GST_ALSA_PAD(this->pads)->pad);
|
||||||
|
@ -369,7 +369,7 @@ gst_alsa_request_new_pad (GstElement *element, GstPadTemplate *templ, const gcha
|
||||||
|
|
||||||
this->pads = g_list_append(this->pads, pad);
|
this->pads = g_list_append(this->pads, pad);
|
||||||
|
|
||||||
// FIXME: allow interleaved access (for hw:N,M access on consumer hardware)
|
/* FIXME: allow interleaved access (for hw:N,M access on consumer hardware) */
|
||||||
|
|
||||||
if (this->data_interleaved) {
|
if (this->data_interleaved) {
|
||||||
this->channels = pad->channel + 1;
|
this->channels = pad->channel + 1;
|
||||||
|
@ -623,7 +623,7 @@ gst_alsa_caps (GstAlsa *this)
|
||||||
"channels", GST_PROPS_INT ((this->data_interleaved ? this->channels : 1)),
|
"channels", GST_PROPS_INT ((this->data_interleaved ? this->channels : 1)),
|
||||||
NULL);
|
NULL);
|
||||||
} else {
|
} else {
|
||||||
// we'll just have to assume int, i don't feel like checking
|
/* we'll just have to assume int, i don't feel like checking */
|
||||||
if (this->format == SND_PCM_FORMAT_MU_LAW) {
|
if (this->format == SND_PCM_FORMAT_MU_LAW) {
|
||||||
law = 1;
|
law = 1;
|
||||||
width = 8;
|
width = 8;
|
||||||
|
@ -727,12 +727,12 @@ gst_alsa_negotiate(GstPad *pad, GstCaps **caps, gpointer *user_data)
|
||||||
|
|
||||||
this = GST_ALSA(gst_pad_get_parent(pad));
|
this = GST_ALSA(gst_pad_get_parent(pad));
|
||||||
|
|
||||||
// we decide
|
/* we decide */
|
||||||
if (user_data == NULL) {
|
if (user_data == NULL) {
|
||||||
*caps = NULL;
|
*caps = NULL;
|
||||||
return GST_PAD_NEGOTIATE_TRY;
|
return GST_PAD_NEGOTIATE_TRY;
|
||||||
}
|
}
|
||||||
// have we got caps?
|
/* have we got caps? */
|
||||||
else if (*caps) {
|
else if (*caps) {
|
||||||
if (this->handle == NULL)
|
if (this->handle == NULL)
|
||||||
if (!gst_alsa_open_audio(this))
|
if (!gst_alsa_open_audio(this))
|
||||||
|
@ -748,7 +748,7 @@ gst_alsa_negotiate(GstPad *pad, GstCaps **caps, gpointer *user_data)
|
||||||
if (GST_FLAG_IS_SET(this, GST_ALSA_OPEN))
|
if (GST_FLAG_IS_SET(this, GST_ALSA_OPEN))
|
||||||
gst_alsa_close_audio(this);
|
gst_alsa_close_audio(this);
|
||||||
|
|
||||||
// FIXME send out another caps if nego fails
|
/* FIXME send out another caps if nego fails */
|
||||||
|
|
||||||
if (!gst_alsa_open_audio(this))
|
if (!gst_alsa_open_audio(this))
|
||||||
return GST_PAD_NEGOTIATE_FAIL;
|
return GST_PAD_NEGOTIATE_FAIL;
|
||||||
|
@ -817,7 +817,7 @@ gst_alsa_loop (GstElement *element)
|
||||||
xrun_detected = FALSE;
|
xrun_detected = FALSE;
|
||||||
|
|
||||||
this->avail = snd_pcm_avail_update (this->handle);
|
this->avail = snd_pcm_avail_update (this->handle);
|
||||||
// g_print ("snd_pcm_avail_update() = %d\n", this->avail);
|
/* g_print ("snd_pcm_avail_update() = %d\n", this->avail); */
|
||||||
|
|
||||||
if (this->avail < 0) {
|
if (this->avail < 0) {
|
||||||
if (this->avail == -EPIPE) {
|
if (this->avail == -EPIPE) {
|
||||||
|
@ -871,7 +871,7 @@ gst_alsa_src_process (GstAlsa *this, snd_pcm_uframes_t frames)
|
||||||
GstAlsaPad *pad = NULL;
|
GstAlsaPad *pad = NULL;
|
||||||
GstCaps *caps;
|
GstCaps *caps;
|
||||||
gint unit;
|
gint unit;
|
||||||
// gint i=0;
|
/* gint i=0; */
|
||||||
|
|
||||||
static gboolean caps_set = FALSE;
|
static gboolean caps_set = FALSE;
|
||||||
|
|
||||||
|
@ -894,14 +894,14 @@ gst_alsa_src_process (GstAlsa *this, snd_pcm_uframes_t frames)
|
||||||
unit = this->sample_bytes * (this->data_interleaved ? this->channels : 1);
|
unit = this->sample_bytes * (this->data_interleaved ? this->channels : 1);
|
||||||
|
|
||||||
while (frames) {
|
while (frames) {
|
||||||
// g_print ("(%d) frames to process: %d\n", i++, frames);
|
/* g_print ("(%d) frames to process: %d\n", i++, frames); */
|
||||||
l = this->pads;
|
l = this->pads;
|
||||||
while (l) {
|
while (l) {
|
||||||
pad = GST_ALSA_PAD(l);
|
pad = GST_ALSA_PAD(l);
|
||||||
|
|
||||||
if (!pad->buf) {
|
if (!pad->buf) {
|
||||||
pad->buf = g_malloc(this->period_frames * unit);
|
pad->buf = g_malloc(this->period_frames * unit);
|
||||||
// g_print ("created buffer %p of size %d\n", pad->buf, this->period_frames * unit);
|
/* g_print ("created buffer %p of size %d\n", pad->buf, this->period_frames * unit); */
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
g_print ("pad->buf = %p, offset = %d\n", pad->buf, pad->offset);
|
g_print ("pad->buf = %p, offset = %d\n", pad->buf, pad->offset);
|
||||||
|
@ -930,8 +930,8 @@ gst_alsa_src_process (GstAlsa *this, snd_pcm_uframes_t frames)
|
||||||
}
|
}
|
||||||
l = l->next;
|
l = l->next;
|
||||||
}
|
}
|
||||||
frames -= MIN(frames, this->period_frames - pad->offset); // shouldn't
|
frames -= MIN(frames, this->period_frames - pad->offset); /* shouldn't */
|
||||||
// matter which pad, in theory (tm)
|
/* matter which pad, in theory (tm) */
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -1272,7 +1272,7 @@ gst_alsa_stop_audio(GstAlsa *this)
|
||||||
static void
|
static void
|
||||||
gst_alsa_close_audio(GstAlsa *this)
|
gst_alsa_close_audio(GstAlsa *this)
|
||||||
{
|
{
|
||||||
// gint err;
|
/* gint err; */
|
||||||
g_return_if_fail(this != NULL);
|
g_return_if_fail(this != NULL);
|
||||||
g_return_if_fail(this->handle != NULL);
|
g_return_if_fail(this->handle != NULL);
|
||||||
|
|
||||||
|
@ -1304,7 +1304,7 @@ gst_alsa_get_channel_addresses (GstAlsa *this)
|
||||||
|
|
||||||
GST_DEBUG(0, "got %d mmap'd frames\n", (int)this->avail);
|
GST_DEBUG(0, "got %d mmap'd frames\n", (int)this->avail);
|
||||||
|
|
||||||
// g_print ("snd_pcm_mmap_begin() sets avail = %d\n", this->avail);
|
/* g_print ("snd_pcm_mmap_begin() sets avail = %d\n", this->avail); */
|
||||||
|
|
||||||
l = this->pads;
|
l = this->pads;
|
||||||
while (l) {
|
while (l) {
|
||||||
|
@ -1366,7 +1366,7 @@ gst_alsa_sink_silence_on_channel (GstAlsa *this, guint32 chn, guint32 nframes)
|
||||||
} else {
|
} else {
|
||||||
memset (this->access_addr[chn], 0, nframes * this->sample_bytes);
|
memset (this->access_addr[chn], 0, nframes * this->sample_bytes);
|
||||||
}
|
}
|
||||||
// mark_channel_done (chn);
|
/* mark_channel_done (chn); */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* taken directly from paul davis' memops.cc */
|
/* taken directly from paul davis' memops.cc */
|
||||||
|
|
|
@ -4,7 +4,7 @@ plugin_LTLIBRARIES = libgstcdparanoia.la
|
||||||
|
|
||||||
libgstcdparanoia_la_SOURCES = gstcdparanoia.c
|
libgstcdparanoia_la_SOURCES = gstcdparanoia.c
|
||||||
libgstcdparanoia_la_CFLAGS = $(GST_CFLAGS)
|
libgstcdparanoia_la_CFLAGS = $(GST_CFLAGS)
|
||||||
libgstcdparanoia_la_LIBADD = $(GST_LIBS) $(CDPARANOIA_LIBS)
|
libgstcdparanoia_la_LIBADD = $(CDPARANOIA_LIBS)
|
||||||
libgstcdparanoia_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
libgstcdparanoia_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
||||||
|
|
||||||
noinst_HEADERS = gstcdparanoia.h
|
noinst_HEADERS = gstcdparanoia.h
|
||||||
|
|
|
@ -4,10 +4,10 @@ plugin_LTLIBRARIES = libgstgnomevfssrc.la libgstgnomevfssink.la
|
||||||
|
|
||||||
libgstgnomevfssrc_la_SOURCES = gstgnomevfssrc.c
|
libgstgnomevfssrc_la_SOURCES = gstgnomevfssrc.c
|
||||||
libgstgnomevfssrc_la_CFLAGS = $(GST_CFLAGS) $(GNOME_VFS_CFLAGS)
|
libgstgnomevfssrc_la_CFLAGS = $(GST_CFLAGS) $(GNOME_VFS_CFLAGS)
|
||||||
libgstgnomevfssrc_la_LIBADD = $(GST_LIBS) $(GNOME_VFS_LIBS)
|
libgstgnomevfssrc_la_LIBADD = $(GNOME_VFS_LIBS)
|
||||||
libgstgnomevfssrc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
libgstgnomevfssrc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
||||||
|
|
||||||
libgstgnomevfssink_la_SOURCES = gstgnomevfssink.c
|
libgstgnomevfssink_la_SOURCES = gstgnomevfssink.c
|
||||||
libgstgnomevfssink_la_CFLAGS = $(GST_CFLAGS) $(GNOME_VFS_CFLAGS)
|
libgstgnomevfssink_la_CFLAGS = $(GST_CFLAGS) $(GNOME_VFS_CFLAGS)
|
||||||
libgstgnomevfssink_la_LIBADD = $(GST_LIBS) $(GNOME_VFS_LIBS)
|
libgstgnomevfssink_la_LIBADD = $(GNOME_VFS_LIBS)
|
||||||
libgstgnomevfssink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
libgstgnomevfssink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
||||||
|
|
|
@ -224,7 +224,7 @@ static void gst_gnomevfssrc_set_property(GObject *object, guint prop_id, const G
|
||||||
} else {
|
} else {
|
||||||
/* otherwise set the new filename */
|
/* otherwise set the new filename */
|
||||||
location = g_value_get_string (value);
|
location = g_value_get_string (value);
|
||||||
/* if it's not a proper uri, default to file:// -- this
|
/* if it's not a proper uri, default to file: -- this
|
||||||
* is a crude test */
|
* is a crude test */
|
||||||
if (!strchr (location, ':'))
|
if (!strchr (location, ':'))
|
||||||
if (*location == '/')
|
if (*location == '/')
|
||||||
|
|
|
@ -5,7 +5,7 @@ plugin_LTLIBRARIES = libgstvorbis.la
|
||||||
libgstvorbis_la_SOURCES = vorbis.c vorbisenc.c vorbisdec.c
|
libgstvorbis_la_SOURCES = vorbis.c vorbisenc.c vorbisdec.c
|
||||||
libgstvorbis_la_CFLAGS = $(GST_CFLAGS) $(VORBIS_CFLAGS)
|
libgstvorbis_la_CFLAGS = $(GST_CFLAGS) $(VORBIS_CFLAGS)
|
||||||
## AM_PATH_VORBIS also sets VORBISENC_LIBS
|
## AM_PATH_VORBIS also sets VORBISENC_LIBS
|
||||||
libgstvorbis_la_LIBADD = $(GST_LIBS) $(VORBIS_LIBS) $(VORBISENC_LIBS)
|
libgstvorbis_la_LIBADD = $(VORBIS_LIBS) $(VORBISENC_LIBS)
|
||||||
libgstvorbis_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
libgstvorbis_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
||||||
|
|
||||||
noinst_HEADERS = vorbisenc.h vorbisdec.h
|
noinst_HEADERS = vorbisenc.h vorbisdec.h
|
||||||
|
|
|
@ -7,6 +7,6 @@ libgstaudio_la_SOURCES = audio.c
|
||||||
libgstaudioincludedir = $(includedir)/gst/audio
|
libgstaudioincludedir = $(includedir)/gst/audio
|
||||||
libgstaudioinclude_HEADERS = audio.h
|
libgstaudioinclude_HEADERS = audio.h
|
||||||
|
|
||||||
libgstaudio_la_LIBADD = $(GST_LIBS)
|
libgstaudio_la_LIBADD =
|
||||||
libgstaudio_la_CFLAGS = $(GST_CFLAGS) -finline-functions -ffast-math
|
libgstaudio_la_CFLAGS = $(GST_CFLAGS) -finline-functions -ffast-math
|
||||||
libgstaudio_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
libgstaudio_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
||||||
|
|
|
@ -131,7 +131,7 @@ gst_audio_highest_sample_value (GstPad* pad)
|
||||||
GstCaps *caps = NULL;
|
GstCaps *caps = NULL;
|
||||||
|
|
||||||
caps = GST_PAD_CAPS (pad);
|
caps = GST_PAD_CAPS (pad);
|
||||||
// FIXME : Please change this to a better warning method !
|
/* FIXME : Please change this to a better warning method ! */
|
||||||
if (caps == NULL)
|
if (caps == NULL)
|
||||||
printf ("WARNING: gstaudio: could not get caps of pad !\n");
|
printf ("WARNING: gstaudio: could not get caps of pad !\n");
|
||||||
width = gst_caps_get_int (caps, "width");
|
width = gst_caps_get_int (caps, "width");
|
||||||
|
|
|
@ -27,6 +27,6 @@ ieeetest_LDFLAGS = $(GST_LIBS)
|
||||||
|
|
||||||
noinst_HEADERS = dct.h
|
noinst_HEADERS = dct.h
|
||||||
|
|
||||||
libgstidct_la_LIBADD = $(GST_LIBS)
|
libgstidct_la_LIBADD =
|
||||||
libgstidct_la_CFLAGS = $(GST_CFLAGS) -finline-functions -ffast-math
|
libgstidct_la_CFLAGS = $(GST_CFLAGS) -finline-functions -ffast-math
|
||||||
libgstidct_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
libgstidct_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
||||||
|
|
|
@ -117,7 +117,7 @@ main(int argc, char **argv)
|
||||||
gst_trace_read_tsc(&tscstart);
|
gst_trace_read_tsc(&tscstart);
|
||||||
gst_idct_convert(idct, testout);
|
gst_idct_convert(idct, testout);
|
||||||
gst_trace_read_tsc(&tscstop);
|
gst_trace_read_tsc(&tscstop);
|
||||||
//printf("time %llu, %llu %lld\n", tscstart, tscstop, tscstop-tscstart);
|
/*printf("time %llu, %llu %lld\n", tscstart, tscstop, tscstop-tscstart); */
|
||||||
if (tscstop - tscstart < tscmin) tscmin = tscstop-tscstart;
|
if (tscstop - tscstart < tscmin) tscmin = tscstop-tscstart;
|
||||||
if (tscstop - tscstart > tscmax) tscmax = tscstop-tscstart;
|
if (tscstop - tscstart > tscmax) tscmax = tscstop-tscstart;
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -13,7 +13,7 @@ endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
libgstresample_la_SOURCES = dtos.c functable.c resample.c resample.h
|
libgstresample_la_SOURCES = dtos.c functable.c resample.c resample.h
|
||||||
libgstresample_la_LIBADD = $(GST_LIBS)
|
libgstresample_la_LIBADD =
|
||||||
libgstresample_la_CFLAGS = $(GST_CFLAGS) -ffast-math $(ARCHCFLAGS)
|
libgstresample_la_CFLAGS = $(GST_CFLAGS) -ffast-math $(ARCHCFLAGS)
|
||||||
libgstresample_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
libgstresample_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
||||||
|
|
||||||
|
|
|
@ -23,13 +23,13 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
//#include <ml.h>
|
/*#include <ml.h> */
|
||||||
#include <resample.h>
|
#include <resample.h>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define short_to_double_table
|
#define short_to_double_table
|
||||||
//#define short_to_double_altivec
|
/*#define short_to_double_altivec */
|
||||||
#define short_to_double_unroll
|
#define short_to_double_unroll
|
||||||
|
|
||||||
#ifdef short_to_double_table
|
#ifdef short_to_double_table
|
||||||
|
|
|
@ -124,12 +124,12 @@ double functable_eval(functable_t *t,double x)
|
||||||
w0 = (x - 2 * x2 + x3) * t->offset;
|
w0 = (x - 2 * x2 + x3) * t->offset;
|
||||||
w1 = (-x2 + x3) * t->offset;
|
w1 = (-x2 + x3) * t->offset;
|
||||||
|
|
||||||
//printf("i=%d x=%g f0=%g f1=%g w0=%g w1=%g\n",i,x,f0,f1,w0,w1);
|
/*printf("i=%d x=%g f0=%g f1=%g w0=%g w1=%g\n",i,x,f0,f1,w0,w1); */
|
||||||
|
|
||||||
w = t->fx[i] * f0 + t->fx[i + 1] * f1 +
|
w = t->fx[i] * f0 + t->fx[i + 1] * f1 +
|
||||||
t->fdx[i] * w0 + t->fdx[i + 1] * w1;
|
t->fdx[i] * w0 + t->fdx[i + 1] * w1;
|
||||||
|
|
||||||
//w = t->fx[i] * (1-x) + t->fx[i+1] * x;
|
/*w = t->fx[i] * (1-x) + t->fx[i+1] * x; */
|
||||||
|
|
||||||
return w;
|
return w;
|
||||||
}
|
}
|
||||||
|
@ -266,37 +266,37 @@ void functable_fir2_altivec(functable_t *t, float *r0, float *r1,
|
||||||
sum0 = 0;
|
sum0 = 0;
|
||||||
sum1 = 0;
|
sum1 = 0;
|
||||||
for(j=0;j<len;j++){
|
for(j=0;j<len;j++){
|
||||||
// t->fx, t->fdx needs to be multiplexed by n
|
/* t->fx, t->fdx needs to be multiplexed by n */
|
||||||
// we need 5 consecutive floats, which fit into 2 vecs
|
/* we need 5 consecutive floats, which fit into 2 vecs */
|
||||||
// load v0, t->fx[i]
|
/* load v0, t->fx[i] */
|
||||||
// load v1, t->fx[i+n]
|
/* load v1, t->fx[i+n] */
|
||||||
// v2 = v0 (not correct)
|
/* v2 = v0 (not correct) */
|
||||||
// v3 = (v0>>32) || (v1<<3*32) (not correct)
|
/* v3 = (v0>>32) || (v1<<3*32) (not correct) */
|
||||||
//
|
/* */
|
||||||
// load v4, t->dfx[i]
|
/* load v4, t->dfx[i] */
|
||||||
// load v5, t->dfx[i+n]
|
/* load v5, t->dfx[i+n] */
|
||||||
// v6 = v4 (not correct)
|
/* v6 = v4 (not correct) */
|
||||||
// v7 = (v4>>32) || (v5<<3*32) (not correct)
|
/* v7 = (v4>>32) || (v5<<3*32) (not correct) */
|
||||||
//
|
/* */
|
||||||
// v8 = splat(f0)
|
/* v8 = splat(f0) */
|
||||||
// v9 = splat(f1)
|
/* v9 = splat(f1) */
|
||||||
// v10 = splat(w0)
|
/* v10 = splat(w0) */
|
||||||
// v11 = splat(w1)
|
/* v11 = splat(w1) */
|
||||||
//
|
/* */
|
||||||
// v12 = v2 * v8
|
/* v12 = v2 * v8 */
|
||||||
// v12 += v3 * v9
|
/* v12 += v3 * v9 */
|
||||||
// v12 += v6 * v10
|
/* v12 += v6 * v10 */
|
||||||
// v12 += v7 * v11
|
/* v12 += v7 * v11 */
|
||||||
|
|
||||||
w = t->fx[i] * f0 + t->fx[i + 1] * f1 +
|
w = t->fx[i] * f0 + t->fx[i + 1] * f1 +
|
||||||
t->fdx[i] * w0 + t->fdx[i + 1] * w1;
|
t->fdx[i] * w0 + t->fdx[i + 1] * w1;
|
||||||
|
|
||||||
// v13 = data[j*2]
|
/* v13 = data[j*2] */
|
||||||
// v14 = data[j*2+4]
|
/* v14 = data[j*2+4] */
|
||||||
// v15 = deinterlace_high(v13,v14)
|
/* v15 = deinterlace_high(v13,v14) */
|
||||||
// v16 = deinterlace_low(v13,v14)
|
/* v16 = deinterlace_low(v13,v14) */
|
||||||
// (sum0) v17 += multsum(v13,v15)
|
/* (sum0) v17 += multsum(v13,v15) */
|
||||||
// (sum1) v18 += multsum(v14,v16)
|
/* (sum1) v18 += multsum(v14,v16) */
|
||||||
|
|
||||||
sum0 += data[j*2] * w;
|
sum0 += data[j*2] * w;
|
||||||
sum1 += data[j*2+1] * w;
|
sum1 += data[j*2+1] * w;
|
||||||
|
|
|
@ -243,7 +243,7 @@ void resample_bilinear(resample_t * r)
|
||||||
b = r->i_start;
|
b = r->i_start;
|
||||||
for (i = 0; i < r->i_samples; i++) {
|
for (i = 0; i < r->i_samples; i++) {
|
||||||
b += r->i_inc;
|
b += r->i_inc;
|
||||||
//printf("in %d\n",i_ptr[0]);
|
/*printf("in %d\n",i_ptr[0]); */
|
||||||
if(b>=2){
|
if(b>=2){
|
||||||
printf("not expecting b>=2\n");
|
printf("not expecting b>=2\n");
|
||||||
}
|
}
|
||||||
|
@ -252,7 +252,7 @@ void resample_bilinear(resample_t * r)
|
||||||
acc1 += (1.0 - (b-r->i_inc)) * i_ptr[1];
|
acc1 += (1.0 - (b-r->i_inc)) * i_ptr[1];
|
||||||
|
|
||||||
o_ptr[0] = rint(acc0);
|
o_ptr[0] = rint(acc0);
|
||||||
//printf("out %d\n",o_ptr[0]);
|
/*printf("out %d\n",o_ptr[0]); */
|
||||||
o_ptr[1] = rint(acc1);
|
o_ptr[1] = rint(acc1);
|
||||||
o_ptr += 2;
|
o_ptr += 2;
|
||||||
o_count++;
|
o_count++;
|
||||||
|
@ -319,8 +319,8 @@ void resample_sinc_slow(resample_t * r)
|
||||||
c1 = 0;
|
c1 = 0;
|
||||||
for (j = 0; j < r->filter_length; j++) {
|
for (j = 0; j < r->filter_length; j++) {
|
||||||
weight = (x==0)?1:(sinx/x);
|
weight = (x==0)?1:(sinx/x);
|
||||||
//printf("j %d sin %g cos %g\n",j,sinx,cosx);
|
/*printf("j %d sin %g cos %g\n",j,sinx,cosx); */
|
||||||
//printf("j %d sin %g x %g sinc %g\n",j,sinx,x,weight);
|
/*printf("j %d sin %g x %g sinc %g\n",j,sinx,x,weight); */
|
||||||
c0 += weight * GETBUF((start + j), 0);
|
c0 += weight * GETBUF((start + j), 0);
|
||||||
c1 += weight * GETBUF((start + j), 1);
|
c1 += weight * GETBUF((start + j), 1);
|
||||||
t = cosx * cosd - sinx * sind;
|
t = cosx * cosd - sinx * sind;
|
||||||
|
@ -368,11 +368,11 @@ void resample_sinc(resample_t * r)
|
||||||
for (i = 0; i < r->o_samples; i++) {
|
for (i = 0; i < r->o_samples; i++) {
|
||||||
a = r->o_start + i * r->o_inc;
|
a = r->o_start + i * r->o_inc;
|
||||||
start = floor(a - r->halftaps);
|
start = floor(a - r->halftaps);
|
||||||
//printf("%d: a=%g start=%d end=%d\n",i,a,start,start+r->filter_length-1);
|
/*printf("%d: a=%g start=%d end=%d\n",i,a,start,start+r->filter_length-1); */
|
||||||
center = a;
|
center = a;
|
||||||
//x = M_PI * (start - center) * r->o_inc;
|
/*x = M_PI * (start - center) * r->o_inc; */
|
||||||
//d = M_PI * r->o_inc;
|
/*d = M_PI * r->o_inc; */
|
||||||
//x = (start - center) * r->o_inc;
|
/*x = (start - center) * r->o_inc; */
|
||||||
x0 = (start - center) * r->o_inc;
|
x0 = (start - center) * r->o_inc;
|
||||||
d = r->o_inc;
|
d = r->o_inc;
|
||||||
c0 = 0;
|
c0 = 0;
|
||||||
|
@ -439,20 +439,20 @@ static void resample_sinc_ft(resample_t * r)
|
||||||
double *ptr;
|
double *ptr;
|
||||||
signed short *o_ptr;
|
signed short *o_ptr;
|
||||||
int i;
|
int i;
|
||||||
//int j;
|
/*int j; */
|
||||||
double c0, c1;
|
double c0, c1;
|
||||||
//double a;
|
/*double a; */
|
||||||
double start_f, start_x;
|
double start_f, start_x;
|
||||||
int start;
|
int start;
|
||||||
double center;
|
double center;
|
||||||
//double weight;
|
/*double weight; */
|
||||||
double x, d;
|
double x, d;
|
||||||
double scale;
|
double scale;
|
||||||
int n = 4;
|
int n = 4;
|
||||||
|
|
||||||
scale = r->i_inc; // cutoff at 22050
|
scale = r->i_inc; /* cutoff at 22050 */
|
||||||
//scale = 1.0; // cutoff at 24000
|
/*scale = 1.0; // cutoff at 24000 */
|
||||||
//scale = r->i_inc * 0.5; // cutoff at 11025
|
/*scale = r->i_inc * 0.5; // cutoff at 11025 */
|
||||||
|
|
||||||
if(!ft){
|
if(!ft){
|
||||||
ft = malloc(sizeof(*ft));
|
ft = malloc(sizeof(*ft));
|
||||||
|
@ -472,7 +472,7 @@ static void resample_sinc_ft(resample_t * r)
|
||||||
|
|
||||||
functable_init(ft);
|
functable_init(ft);
|
||||||
|
|
||||||
//printf("len=%d offset=%g start=%g\n",ft->len,ft->offset,ft->start);
|
/*printf("len=%d offset=%g start=%g\n",ft->len,ft->offset,ft->start); */
|
||||||
}
|
}
|
||||||
|
|
||||||
ptr = r->buffer;
|
ptr = r->buffer;
|
||||||
|
@ -484,18 +484,18 @@ static void resample_sinc_ft(resample_t * r)
|
||||||
start_x -= start_f;
|
start_x -= start_f;
|
||||||
start = start_f;
|
start = start_f;
|
||||||
for (i = 0; i < r->o_samples; i++) {
|
for (i = 0; i < r->o_samples; i++) {
|
||||||
//start_f = floor(center - r->halftaps);
|
/*start_f = floor(center - r->halftaps); */
|
||||||
//printf("%d: a=%g start=%d end=%d\n",i,a,start,start+r->filter_length-1);
|
/*printf("%d: a=%g start=%d end=%d\n",i,a,start,start+r->filter_length-1); */
|
||||||
x = start_f - center;
|
x = start_f - center;
|
||||||
d = 1;
|
d = 1;
|
||||||
c0 = 0;
|
c0 = 0;
|
||||||
c1 = 0;
|
c1 = 0;
|
||||||
//#define slow
|
/*#define slow */
|
||||||
#ifdef slow
|
#ifdef slow
|
||||||
for (j = 0; j < r->filter_length; j++) {
|
for (j = 0; j < r->filter_length; j++) {
|
||||||
weight = functable_eval(ft,x)*scale;
|
weight = functable_eval(ft,x)*scale;
|
||||||
//weight = sinc(M_PI * scale * x)*scale*r->i_inc;
|
/*weight = sinc(M_PI * scale * x)*scale*r->i_inc; */
|
||||||
//weight *= window_func(x / r->halftaps);
|
/*weight *= window_func(x / r->halftaps); */
|
||||||
c0 += weight * ptr[(start + j + r->filter_length)*2 + 0];
|
c0 += weight * ptr[(start + j + r->filter_length)*2 + 0];
|
||||||
c1 += weight * ptr[(start + j + r->filter_length)*2 + 1];
|
c1 += weight * ptr[(start + j + r->filter_length)*2 + 1];
|
||||||
x += d;
|
x += d;
|
||||||
|
|
|
@ -9,11 +9,11 @@
|
||||||
#define AMP 16000
|
#define AMP 16000
|
||||||
#define I_RATE 48000
|
#define I_RATE 48000
|
||||||
#define O_RATE 44100
|
#define O_RATE 44100
|
||||||
//#define O_RATE 24000
|
/*#define O_RATE 24000 */
|
||||||
|
|
||||||
//#define test_func(x) 1
|
/*#define test_func(x) 1 */
|
||||||
//#define test_func(x) sin(2*M_PI*(x)*10)
|
/*#define test_func(x) sin(2*M_PI*(x)*10) */
|
||||||
//#define test_func(x) sin(2*M_PI*(x)*(x)*1000)
|
/*#define test_func(x) sin(2*M_PI*(x)*(x)*1000) */
|
||||||
#define test_func(x) sin(2*M_PI*(x)*(x)*12000)
|
#define test_func(x) sin(2*M_PI*(x)*(x)*12000)
|
||||||
|
|
||||||
short i_buf[I_RATE*2*2];
|
short i_buf[I_RATE*2*2];
|
||||||
|
@ -53,7 +53,7 @@ struct timeval start_time;
|
||||||
void start_timer(void)
|
void start_timer(void)
|
||||||
{
|
{
|
||||||
gettimeofday(&start_time,NULL);
|
gettimeofday(&start_time,NULL);
|
||||||
//printf("start %ld.%06ld\n",start_time.tv_sec,start_time.tv_usec);
|
/*printf("start %ld.%06ld\n",start_time.tv_sec,start_time.tv_usec); */
|
||||||
}
|
}
|
||||||
|
|
||||||
void end_timer(void)
|
void end_timer(void)
|
||||||
|
@ -62,7 +62,7 @@ void end_timer(void)
|
||||||
double diff;
|
double diff;
|
||||||
|
|
||||||
gettimeofday(&end_time,NULL);
|
gettimeofday(&end_time,NULL);
|
||||||
//printf("end %ld.%06ld\n",end_time.tv_sec,end_time.tv_usec);
|
/*printf("end %ld.%06ld\n",end_time.tv_sec,end_time.tv_usec); */
|
||||||
diff = (end_time.tv_sec - start_time.tv_sec) +
|
diff = (end_time.tv_sec - start_time.tv_sec) +
|
||||||
1e-6*(end_time.tv_usec - start_time.tv_usec);
|
1e-6*(end_time.tv_usec - start_time.tv_usec);
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@ void test_res1(void)
|
||||||
|
|
||||||
for(i=0;i<I_RATE;i++){
|
for(i=0;i<I_RATE;i++){
|
||||||
i_buf[i*2+0] = rint(AMP * test_func((double)i/I_RATE));
|
i_buf[i*2+0] = rint(AMP * test_func((double)i/I_RATE));
|
||||||
//i_buf[i*2+1] = rint(AMP * test_func((double)i/I_RATE));
|
/*i_buf[i*2+1] = rint(AMP * test_func((double)i/I_RATE)); */
|
||||||
i_buf[i*2+1] = (i<1000)?AMP:0;
|
i_buf[i*2+1] = (i<1000)?AMP:0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -90,10 +90,10 @@ void test_res1(void)
|
||||||
|
|
||||||
r->i_rate = I_RATE;
|
r->i_rate = I_RATE;
|
||||||
r->o_rate = O_RATE;
|
r->o_rate = O_RATE;
|
||||||
//r->method = RESAMPLE_SINC_SLOW;
|
/*r->method = RESAMPLE_SINC_SLOW; */
|
||||||
r->method = RESAMPLE_SINC;
|
r->method = RESAMPLE_SINC;
|
||||||
r->channels = 2;
|
r->channels = 2;
|
||||||
//r->verbose = 1;
|
/*r->verbose = 1; */
|
||||||
r->filter_length = 64;
|
r->filter_length = 64;
|
||||||
r->get_buffer = get_buffer;
|
r->get_buffer = get_buffer;
|
||||||
|
|
||||||
|
@ -115,7 +115,7 @@ void test_res1(void)
|
||||||
|
|
||||||
for(i=0;i<O_RATE;i++){
|
for(i=0;i<O_RATE;i++){
|
||||||
f = AMP*test_func((double)i/O_RATE);
|
f = AMP*test_func((double)i/O_RATE);
|
||||||
//f = rint(AMP*test_func((double)i/O_RATE));
|
/*f = rint(AMP*test_func((double)i/O_RATE)); */
|
||||||
fprintf(out,"%d %d %d %g %g\n",i,
|
fprintf(out,"%d %d %d %g %g\n",i,
|
||||||
o_buf[2*i+0],o_buf[2*i+1],
|
o_buf[2*i+0],o_buf[2*i+1],
|
||||||
f,o_buf[2*i+0]-f);
|
f,o_buf[2*i+0]-f);
|
||||||
|
@ -127,7 +127,7 @@ void test_res1(void)
|
||||||
n22k=0;
|
n22k=0;
|
||||||
for(i=0;i<O_RATE;i++){
|
for(i=0;i<O_RATE;i++){
|
||||||
f = AMP*test_func((double)i/O_RATE);
|
f = AMP*test_func((double)i/O_RATE);
|
||||||
//f = rint(AMP*test_func((double)i/O_RATE));
|
/*f = rint(AMP*test_func((double)i/O_RATE)); */
|
||||||
x = o_buf[2*i+0]-f;
|
x = o_buf[2*i+0]-f;
|
||||||
if(((0.5*i)/O_RATE*I_RATE)<10000){
|
if(((0.5*i)/O_RATE*I_RATE)<10000){
|
||||||
sum10k += x*x;
|
sum10k += x*x;
|
||||||
|
@ -219,8 +219,8 @@ double sinc_poly(double x)
|
||||||
- x2 * INV3FAC
|
- x2 * INV3FAC
|
||||||
+ x2 * x2 * INV5FAC
|
+ x2 * x2 * INV5FAC
|
||||||
- x2 * x2 * x2 * INV7FAC;
|
- x2 * x2 * x2 * INV7FAC;
|
||||||
//+ x2 * x2 * x2 * x2 * INV9FAC
|
/*+ x2 * x2 * x2 * x2 * INV9FAC */
|
||||||
//- x2 * x2 * x2 * x2 * x2 * INV11FAC;
|
/*- x2 * x2 * x2 * x2 * x2 * INV11FAC; */
|
||||||
}
|
}
|
||||||
|
|
||||||
void test_res4(void)
|
void test_res4(void)
|
||||||
|
@ -297,10 +297,10 @@ void test_res7(void)
|
||||||
|
|
||||||
r->i_rate = I_RATE;
|
r->i_rate = I_RATE;
|
||||||
r->o_rate = O_RATE;
|
r->o_rate = O_RATE;
|
||||||
//r->method = RESAMPLE_SINC_SLOW;
|
/*r->method = RESAMPLE_SINC_SLOW; */
|
||||||
r->method = RESAMPLE_SINC;
|
r->method = RESAMPLE_SINC;
|
||||||
r->channels = 1;
|
r->channels = 1;
|
||||||
//r->verbose = 1;
|
/*r->verbose = 1; */
|
||||||
r->filter_length = 64;
|
r->filter_length = 64;
|
||||||
r->get_buffer = get_buffer;
|
r->get_buffer = get_buffer;
|
||||||
|
|
||||||
|
@ -322,7 +322,7 @@ void test_res7(void)
|
||||||
|
|
||||||
for(i=0;i<O_RATE;i++){
|
for(i=0;i<O_RATE;i++){
|
||||||
f = AMP*test_func((double)i/O_RATE);
|
f = AMP*test_func((double)i/O_RATE);
|
||||||
//f = rint(AMP*test_func((double)i/O_RATE));
|
/*f = rint(AMP*test_func((double)i/O_RATE)); */
|
||||||
fprintf(out,"%d %d %d %g %g\n",i,
|
fprintf(out,"%d %d %d %g %g\n",i,
|
||||||
o_buf[i],0,
|
o_buf[i],0,
|
||||||
f,o_buf[i]-f);
|
f,o_buf[i]-f);
|
||||||
|
@ -334,7 +334,7 @@ void test_res7(void)
|
||||||
n22k=0;
|
n22k=0;
|
||||||
for(i=0;i<O_RATE;i++){
|
for(i=0;i<O_RATE;i++){
|
||||||
f = AMP*test_func((double)i/O_RATE);
|
f = AMP*test_func((double)i/O_RATE);
|
||||||
//f = rint(AMP*test_func((double)i/O_RATE));
|
/*f = rint(AMP*test_func((double)i/O_RATE)); */
|
||||||
x = o_buf[i]-f;
|
x = o_buf[i]-f;
|
||||||
if(((0.5*i)/O_RATE*I_RATE)<10000){
|
if(((0.5*i)/O_RATE*I_RATE)<10000){
|
||||||
sum10k += x*x;
|
sum10k += x*x;
|
||||||
|
|
|
@ -7,6 +7,6 @@ libgstriff_la_SOURCES = riffparse.c riffencode.c riffutil.c
|
||||||
libgstriffincludedir = $(includedir)/gst/riff
|
libgstriffincludedir = $(includedir)/gst/riff
|
||||||
libgstriffinclude_HEADERS = riff.h
|
libgstriffinclude_HEADERS = riff.h
|
||||||
|
|
||||||
libgstriff_la_LIBADD = $(GST_LIBS)
|
libgstriff_la_LIBADD =
|
||||||
libgstriff_la_CFLAGS = $(GST_CFLAGS) -funroll-all-loops -finline-functions -ffast-math
|
libgstriff_la_CFLAGS = $(GST_CFLAGS) -funroll-all-loops -finline-functions -ffast-math
|
||||||
libgstriff_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
libgstriff_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include <riff.h>
|
#include <riff.h>
|
||||||
|
|
||||||
//#define debug(format,args...) g_print(format,##args)
|
/*#define debug(format,args...) g_print(format,##args) */
|
||||||
#define debug(format,args...)
|
#define debug(format,args...)
|
||||||
|
|
||||||
|
|
||||||
|
@ -69,33 +69,33 @@ gint gst_riff_next_buffer(GstRiff *riff,GstBuffer *buf,gulong off) {
|
||||||
GST_BUFFER_DATA(buf) = riff->dataleft;
|
GST_BUFFER_DATA(buf) = riff->dataleft;
|
||||||
GST_BUFFER_SIZE(buf) = newsize;
|
GST_BUFFER_SIZE(buf) = newsize;
|
||||||
off -= riff->dataleft_size;
|
off -= riff->dataleft_size;
|
||||||
//last -= riff->dataleft_size;
|
/*last -= riff->dataleft_size; */
|
||||||
riff->dataleft = NULL;
|
riff->dataleft = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (off == 0) {
|
if (off == 0) {
|
||||||
guint32 *words = (guin32 *)GST_BUFFER_DATA(buf);
|
guint32 *words = (guin32 *)GST_BUFFER_DATA(buf);
|
||||||
|
|
||||||
// don't even try to parse the head if it's not there FIXME
|
/* don't even try to parse the head if it's not there FIXME */
|
||||||
if (last < 12) {
|
if (last < 12) {
|
||||||
riff->state = GST_RIFF_ENOTRIFF;
|
riff->state = GST_RIFF_ENOTRIFF;
|
||||||
return riff->state;
|
return riff->state;
|
||||||
}
|
}
|
||||||
|
|
||||||
//g_print("testing is 0x%08lx '%s'\n",words[0],gst_riff_id_to_fourcc(words[0]));
|
/*g_print("testing is 0x%08lx '%s'\n",words[0],gst_riff_id_to_fourcc(words[0])); */
|
||||||
/* verify this is a valid RIFF file, first of all */
|
/* verify this is a valid RIFF file, first of all */
|
||||||
if (GUINT32_FROM_LE (words[0]) != GST_RIFF_TAG_RIFF) {
|
if (GUINT32_FROM_LE (words[0]) != GST_RIFF_TAG_RIFF) {
|
||||||
riff->state = GST_RIFF_ENOTRIFF;
|
riff->state = GST_RIFF_ENOTRIFF;
|
||||||
return riff->state;
|
return riff->state;
|
||||||
}
|
}
|
||||||
riff->form = GUINT32_FROM_LE (words[2]);
|
riff->form = GUINT32_FROM_LE (words[2]);
|
||||||
//g_print("form is 0x%08lx '%s'\n",words[2],gst_riff_id_to_fourcc(words[2]));
|
/*g_print("form is 0x%08lx '%s'\n",words[2],gst_riff_id_to_fourcc(words[2])); */
|
||||||
riff->nextlikely = 12; /* skip 'RIFF', length, and form */
|
riff->nextlikely = 12; /* skip 'RIFF', length, and form */
|
||||||
// all OK here
|
/* all OK here */
|
||||||
riff->incomplete_chunk = NULL;
|
riff->incomplete_chunk = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
// if we have an incomplete chunk from the previous buffer
|
/* if we have an incomplete chunk from the previous buffer */
|
||||||
if (riff->incomplete_chunk) {
|
if (riff->incomplete_chunk) {
|
||||||
guint leftover;
|
guint leftover;
|
||||||
debug("have incomplete chunk %08x filled\n", riff->incomplete_chunk_size);
|
debug("have incomplete chunk %08x filled\n", riff->incomplete_chunk_size);
|
||||||
|
@ -135,14 +135,14 @@ gint gst_riff_next_buffer(GstRiff *riff,GstBuffer *buf,gulong off) {
|
||||||
while ((riff->nextlikely+12) <= last) {
|
while ((riff->nextlikely+12) <= last) {
|
||||||
guin32 *words = (guin32 *)((guchar *)GST_BUFFER_DATA(buf) + riff->nextlikely - off );
|
guin32 *words = (guin32 *)((guchar *)GST_BUFFER_DATA(buf) + riff->nextlikely - off );
|
||||||
|
|
||||||
// loop over all of the chunks to check which one is finished
|
/* loop over all of the chunks to check which one is finished */
|
||||||
while (riff->chunks) {
|
while (riff->chunks) {
|
||||||
chunk = g_list_nth_data(riff->chunks, 0);
|
chunk = g_list_nth_data(riff->chunks, 0);
|
||||||
|
|
||||||
debug("next 0x%08x offset 0x%08lx size 0x%08x\n",riff->nextlikely, chunk->offset, chunk->size);
|
debug("next 0x%08x offset 0x%08lx size 0x%08x\n",riff->nextlikely, chunk->offset, chunk->size);
|
||||||
if (riff->nextlikely >= chunk->offset+chunk->size) {
|
if (riff->nextlikely >= chunk->offset+chunk->size) {
|
||||||
//g_print("found END LIST\n");
|
/*g_print("found END LIST\n"); */
|
||||||
// we have the end of the chunk on the stack, remove it
|
/* we have the end of the chunk on the stack, remove it */
|
||||||
riff->chunks = g_list_remove(riff->chunks, chunk);
|
riff->chunks = g_list_remove(riff->chunks, chunk);
|
||||||
}
|
}
|
||||||
else break;
|
else break;
|
||||||
|
@ -157,17 +157,17 @@ gint gst_riff_next_buffer(GstRiff *riff,GstBuffer *buf,gulong off) {
|
||||||
chunk->id = GUINT32_FROM_LE (words[0]));
|
chunk->id = GUINT32_FROM_LE (words[0]));
|
||||||
chunk->size = GUINT32_FROM_LE (words[1]);
|
chunk->size = GUINT32_FROM_LE (words[1]);
|
||||||
chunk->data = (gchar *)(words+2);
|
chunk->data = (gchar *)(words+2);
|
||||||
// we need word alignment
|
/* we need word alignment */
|
||||||
//if (chunk->size & 0x01) chunk->size++;
|
/*if (chunk->size & 0x01) chunk->size++; */
|
||||||
chunk->form = GUINT32_FROM_LE (words[2]); /* fill in the form, might not be valid */
|
chunk->form = GUINT32_FROM_LE (words[2]); /* fill in the form, might not be valid */
|
||||||
|
|
||||||
|
|
||||||
if (chunk->id == GST_RIFF_TAG_LIST) {
|
if (chunk->id == GST_RIFF_TAG_LIST) {
|
||||||
//g_print("found LIST %s\n", gst_riff_id_to_fourcc(chunk->form));
|
/*g_print("found LIST %s\n", gst_riff_id_to_fourcc(chunk->form)); */
|
||||||
riff->nextlikely += 12;
|
riff->nextlikely += 12;
|
||||||
// we push the list chunk on our 'stack'
|
/* we push the list chunk on our 'stack' */
|
||||||
riff->chunks = g_list_prepend(riff->chunks,chunk);
|
riff->chunks = g_list_prepend(riff->chunks,chunk);
|
||||||
// send the buffer to the listener if we have received a function
|
/* send the buffer to the listener if we have received a function */
|
||||||
if (riff->new_tag_found) {
|
if (riff->new_tag_found) {
|
||||||
riff->new_tag_found(chunk, riff->callback_data);
|
riff->new_tag_found(chunk, riff->callback_data);
|
||||||
}
|
}
|
||||||
|
@ -178,25 +178,25 @@ gint gst_riff_next_buffer(GstRiff *riff,GstBuffer *buf,gulong off) {
|
||||||
gst_riff_id_to_fourcc(GUINT32_FROM_LE (words[0])), GUINT32_FROM_LE (words[1]));
|
gst_riff_id_to_fourcc(GUINT32_FROM_LE (words[0])), GUINT32_FROM_LE (words[1]));
|
||||||
|
|
||||||
riff->nextlikely += 8 + chunk->size; /* doesn't include hdr */
|
riff->nextlikely += 8 + chunk->size; /* doesn't include hdr */
|
||||||
// if this buffer is incomplete
|
/* if this buffer is incomplete */
|
||||||
if (riff->nextlikely > last) {
|
if (riff->nextlikely > last) {
|
||||||
guint left = size - (riff->nextlikely - chunk->size - off);
|
guint left = size - (riff->nextlikely - chunk->size - off);
|
||||||
|
|
||||||
//g_print("make incomplete buffer %08x\n", left);
|
/*g_print("make incomplete buffer %08x\n", left); */
|
||||||
chunk->data = g_malloc(chunk->size);
|
chunk->data = g_malloc(chunk->size);
|
||||||
memcpy(chunk->data, (gchar *)(words+2), left);
|
memcpy(chunk->data, (gchar *)(words+2), left);
|
||||||
riff->incomplete_chunk = chunk;
|
riff->incomplete_chunk = chunk;
|
||||||
riff->incomplete_chunk_size = left;
|
riff->incomplete_chunk_size = left;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// send the buffer to the listener if we have received a function
|
/* send the buffer to the listener if we have received a function */
|
||||||
if (riff->new_tag_found) {
|
if (riff->new_tag_found) {
|
||||||
riff->new_tag_found(chunk, riff->callback_data);
|
riff->new_tag_found(chunk, riff->callback_data);
|
||||||
}
|
}
|
||||||
g_free(chunk);
|
g_free(chunk);
|
||||||
}
|
}
|
||||||
|
|
||||||
//riff->chunks = g_list_prepend(riff->chunks,chunk);
|
/*riff->chunks = g_list_prepend(riff->chunks,chunk); */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
//#define DEBUG_ENABLED
|
/*#define DEBUG_ENABLED */
|
||||||
#include "riff.h"
|
#include "riff.h"
|
||||||
|
|
||||||
#define GST_RIFF_ENCODER_BUF_SIZE 1024
|
#define GST_RIFF_ENCODER_BUF_SIZE 1024
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
//#define DEBUG_ENABLED
|
/*#define DEBUG_ENABLED */
|
||||||
#include <riff.h>
|
#include <riff.h>
|
||||||
|
|
||||||
GstRiff*
|
GstRiff*
|
||||||
|
@ -71,33 +71,33 @@ gst_riff_parser_next_buffer (GstRiff *riff, GstBuffer *buf, gulong off)
|
||||||
GST_BUFFER_DATA(buf) = riff->dataleft;
|
GST_BUFFER_DATA(buf) = riff->dataleft;
|
||||||
size = GST_BUFFER_SIZE(buf) = newsize;
|
size = GST_BUFFER_SIZE(buf) = newsize;
|
||||||
off -= riff->dataleft_size;
|
off -= riff->dataleft_size;
|
||||||
//last -= riff->dataleft_size;
|
/*last -= riff->dataleft_size; */
|
||||||
riff->dataleft = NULL;
|
riff->dataleft = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (off == 0) {
|
if (off == 0) {
|
||||||
guint32 *words = (guint32 *)GST_BUFFER_DATA(buf);
|
guint32 *words = (guint32 *)GST_BUFFER_DATA(buf);
|
||||||
|
|
||||||
// don't even try to parse the head if it's not there FIXME
|
/* don't even try to parse the head if it's not there FIXME */
|
||||||
if (last < 12) {
|
if (last < 12) {
|
||||||
riff->state = GST_RIFF_ENOTRIFF;
|
riff->state = GST_RIFF_ENOTRIFF;
|
||||||
return riff->state;
|
return riff->state;
|
||||||
}
|
}
|
||||||
|
|
||||||
//g_print("testing is 0x%08lx '%s'\n",words[0],gst_riff_id_to_fourcc(words[0]));
|
/*g_print("testing is 0x%08lx '%s'\n",words[0],gst_riff_id_to_fourcc(words[0])); */
|
||||||
/* verify this is a valid RIFF file, first of all */
|
/* verify this is a valid RIFF file, first of all */
|
||||||
if (GUINT32_FROM_LE (words[0]) != GST_RIFF_TAG_RIFF) {
|
if (GUINT32_FROM_LE (words[0]) != GST_RIFF_TAG_RIFF) {
|
||||||
riff->state = GST_RIFF_ENOTRIFF;
|
riff->state = GST_RIFF_ENOTRIFF;
|
||||||
return riff->state;
|
return riff->state;
|
||||||
}
|
}
|
||||||
riff->form = GUINT32_FROM_LE (words[2]);
|
riff->form = GUINT32_FROM_LE (words[2]);
|
||||||
//g_print("form is 0x%08lx '%s'\n",words[2],gst_riff_id_to_fourcc(words[2]));
|
/*g_print("form is 0x%08lx '%s'\n",words[2],gst_riff_id_to_fourcc(words[2])); */
|
||||||
riff->nextlikely = 12; /* skip 'RIFF', length, and form */
|
riff->nextlikely = 12; /* skip 'RIFF', length, and form */
|
||||||
// all OK here
|
/* all OK here */
|
||||||
riff->incomplete_chunk = NULL;
|
riff->incomplete_chunk = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
// if we have an incomplete chunk from the previous buffer
|
/* if we have an incomplete chunk from the previous buffer */
|
||||||
if (riff->incomplete_chunk) {
|
if (riff->incomplete_chunk) {
|
||||||
guint leftover;
|
guint leftover;
|
||||||
GST_DEBUG (0,"gst_riff_parser: have incomplete chunk %08x filled\n", riff->incomplete_chunk_size);
|
GST_DEBUG (0,"gst_riff_parser: have incomplete chunk %08x filled\n", riff->incomplete_chunk_size);
|
||||||
|
@ -130,7 +130,7 @@ gst_riff_parser_next_buffer (GstRiff *riff, GstBuffer *buf, gulong off)
|
||||||
while ((riff->nextlikely+12) <= last) {
|
while ((riff->nextlikely+12) <= last) {
|
||||||
guint32 *words = (guint32 *)((guchar *)GST_BUFFER_DATA(buf) + riff->nextlikely - off );
|
guint32 *words = (guint32 *)((guchar *)GST_BUFFER_DATA(buf) + riff->nextlikely - off );
|
||||||
|
|
||||||
// loop over all of the chunks to check which one is finished
|
/* loop over all of the chunks to check which one is finished */
|
||||||
while (riff->chunks) {
|
while (riff->chunks) {
|
||||||
chunk = g_list_nth_data(riff->chunks, 0);
|
chunk = g_list_nth_data(riff->chunks, 0);
|
||||||
|
|
||||||
|
@ -138,7 +138,7 @@ gst_riff_parser_next_buffer (GstRiff *riff, GstBuffer *buf, gulong off)
|
||||||
chunk->offset, chunk->size);
|
chunk->offset, chunk->size);
|
||||||
if (riff->nextlikely >= chunk->offset+chunk->size) {
|
if (riff->nextlikely >= chunk->offset+chunk->size) {
|
||||||
GST_DEBUG (0,"gst_riff_parser: found END LIST\n");
|
GST_DEBUG (0,"gst_riff_parser: found END LIST\n");
|
||||||
// we have the end of the chunk on the stack, remove it
|
/* we have the end of the chunk on the stack, remove it */
|
||||||
riff->chunks = g_list_remove(riff->chunks, chunk);
|
riff->chunks = g_list_remove(riff->chunks, chunk);
|
||||||
}
|
}
|
||||||
else break;
|
else break;
|
||||||
|
@ -153,17 +153,17 @@ gst_riff_parser_next_buffer (GstRiff *riff, GstBuffer *buf, gulong off)
|
||||||
chunk->id = GUINT32_FROM_LE (words[0]);
|
chunk->id = GUINT32_FROM_LE (words[0]);
|
||||||
chunk->size = GUINT32_FROM_LE (words[1]);
|
chunk->size = GUINT32_FROM_LE (words[1]);
|
||||||
chunk->data = (gchar *)(words+2);
|
chunk->data = (gchar *)(words+2);
|
||||||
// we need word alignment
|
/* we need word alignment */
|
||||||
//if (chunk->size & 0x01) chunk->size++;
|
/*if (chunk->size & 0x01) chunk->size++; */
|
||||||
chunk->form = GUINT32_FROM_LE (words[2]); /* fill in the form, might not be valid */
|
chunk->form = GUINT32_FROM_LE (words[2]); /* fill in the form, might not be valid */
|
||||||
|
|
||||||
|
|
||||||
if (chunk->id == GST_RIFF_TAG_LIST) {
|
if (chunk->id == GST_RIFF_TAG_LIST) {
|
||||||
GST_DEBUG (0,"found LIST %s\n", gst_riff_id_to_fourcc(chunk->form));
|
GST_DEBUG (0,"found LIST %s\n", gst_riff_id_to_fourcc(chunk->form));
|
||||||
riff->nextlikely += 12;
|
riff->nextlikely += 12;
|
||||||
// we push the list chunk on our 'stack'
|
/* we push the list chunk on our 'stack' */
|
||||||
riff->chunks = g_list_prepend(riff->chunks,chunk);
|
riff->chunks = g_list_prepend(riff->chunks,chunk);
|
||||||
// send the buffer to the listener if we have received a function
|
/* send the buffer to the listener if we have received a function */
|
||||||
if (riff->new_tag_found) {
|
if (riff->new_tag_found) {
|
||||||
riff->new_tag_found(chunk, riff->callback_data);
|
riff->new_tag_found(chunk, riff->callback_data);
|
||||||
}
|
}
|
||||||
|
@ -175,7 +175,7 @@ gst_riff_parser_next_buffer (GstRiff *riff, GstBuffer *buf, gulong off)
|
||||||
gst_riff_id_to_fourcc(GUINT32_FROM_LE (words[0])), GUINT32_FROM_LE (words[1]));
|
gst_riff_id_to_fourcc(GUINT32_FROM_LE (words[0])), GUINT32_FROM_LE (words[1]));
|
||||||
|
|
||||||
riff->nextlikely += 8 + chunk->size; /* doesn't include hdr */
|
riff->nextlikely += 8 + chunk->size; /* doesn't include hdr */
|
||||||
// if this buffer is incomplete
|
/* if this buffer is incomplete */
|
||||||
if (riff->nextlikely > last) {
|
if (riff->nextlikely > last) {
|
||||||
guint left = size - (riff->nextlikely - chunk->size - off);
|
guint left = size - (riff->nextlikely - chunk->size - off);
|
||||||
|
|
||||||
|
@ -186,7 +186,7 @@ gst_riff_parser_next_buffer (GstRiff *riff, GstBuffer *buf, gulong off)
|
||||||
riff->incomplete_chunk_size = left;
|
riff->incomplete_chunk_size = left;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// send the buffer to the listener if we have received a function
|
/* send the buffer to the listener if we have received a function */
|
||||||
if (riff->new_tag_found) {
|
if (riff->new_tag_found) {
|
||||||
riff->new_tag_found(chunk, riff->callback_data);
|
riff->new_tag_found(chunk, riff->callback_data);
|
||||||
}
|
}
|
||||||
|
@ -194,7 +194,7 @@ gst_riff_parser_next_buffer (GstRiff *riff, GstBuffer *buf, gulong off)
|
||||||
}
|
}
|
||||||
if (riff->nextlikely & 0x01) riff->nextlikely++;
|
if (riff->nextlikely & 0x01) riff->nextlikely++;
|
||||||
|
|
||||||
//riff->chunks = g_list_prepend(riff->chunks,chunk);
|
/*riff->chunks = g_list_prepend(riff->chunks,chunk); */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ((riff->nextlikely+12) > last && !riff->incomplete_chunk) {
|
if ((riff->nextlikely+12) > last && !riff->incomplete_chunk) {
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#include <riff.h>
|
#include <riff.h>
|
||||||
|
|
||||||
//#define debug(format,args...) g_print(format,##args)
|
/*#define debug(format,args...) g_print(format,##args) */
|
||||||
#define debug(format,args...)
|
#define debug(format,args...)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ plugin_LTLIBRARIES = libgstadder.la
|
||||||
|
|
||||||
libgstadder_la_SOURCES = gstadder.c
|
libgstadder_la_SOURCES = gstadder.c
|
||||||
libgstadder_la_CFLAGS = $(GST_CFLAGS)
|
libgstadder_la_CFLAGS = $(GST_CFLAGS)
|
||||||
libgstadder_la_LIBADD = $(GST_LIBS)
|
libgstadder_la_LIBADD =
|
||||||
libgstadder_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
libgstadder_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
||||||
|
|
||||||
noinst_HEADERS = gstadder.h
|
noinst_HEADERS = gstadder.h
|
||||||
|
|
|
@ -4,7 +4,7 @@ plugin_LTLIBRARIES = libgstaudioscale.la
|
||||||
|
|
||||||
libgstaudioscale_la_SOURCES = gstaudioscale.c
|
libgstaudioscale_la_SOURCES = gstaudioscale.c
|
||||||
libgstaudioscale_la_CFLAGS = -ffast-math $(GST_CFLAGS)
|
libgstaudioscale_la_CFLAGS = -ffast-math $(GST_CFLAGS)
|
||||||
libgstaudioscale_la_LIBADD = $(GST_LIBS)
|
libgstaudioscale_la_LIBADD =
|
||||||
libgstaudioscale_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
libgstaudioscale_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
||||||
|
|
||||||
noinst_HEADERS = gstaudioscale.h
|
noinst_HEADERS = gstaudioscale.h
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
//#define DEBUG_ENABLED
|
/*#define DEBUG_ENABLED */
|
||||||
#include <gstaudioscale.h>
|
#include <gstaudioscale.h>
|
||||||
#include <gst/audio/audio.h>
|
#include <gst/audio/audio.h>
|
||||||
#include <gst/resample/resample.h>
|
#include <gst/resample/resample.h>
|
||||||
|
@ -112,7 +112,7 @@ static void gst_audioscale_get_property (GObject * object, guint prop_id,
|
||||||
|
|
||||||
static GstElementClass *parent_class = NULL;
|
static GstElementClass *parent_class = NULL;
|
||||||
|
|
||||||
//static guint gst_audioscale_signals[LAST_SIGNAL] = { 0 };
|
/*static guint gst_audioscale_signals[LAST_SIGNAL] = { 0 }; */
|
||||||
|
|
||||||
GType
|
GType
|
||||||
audioscale_get_type (void)
|
audioscale_get_type (void)
|
||||||
|
@ -146,13 +146,13 @@ gst_audioscale_class_init (AudioscaleClass *klass)
|
||||||
|
|
||||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_FREQUENCY,
|
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_FREQUENCY,
|
||||||
g_param_spec_int("frequency","frequency","frequency",
|
g_param_spec_int("frequency","frequency","frequency",
|
||||||
G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); // CHECKME
|
G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); /* CHECKME */
|
||||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FILTERLEN,
|
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FILTERLEN,
|
||||||
g_param_spec_int ("filter_length", "filter_length", "filter_length",
|
g_param_spec_int ("filter_length", "filter_length", "filter_length",
|
||||||
G_MININT, G_MAXINT, 0, G_PARAM_READWRITE)); // CHECKME
|
G_MININT, G_MAXINT, 0, G_PARAM_READWRITE)); /* CHECKME */
|
||||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_METHOD,
|
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_METHOD,
|
||||||
g_param_spec_int ("method", "method", "method",
|
g_param_spec_int ("method", "method", "method",
|
||||||
G_MININT, G_MAXINT, 0, G_PARAM_READWRITE)); // CHECKME
|
G_MININT, G_MAXINT, 0, G_PARAM_READWRITE)); /* CHECKME */
|
||||||
|
|
||||||
parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
|
parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
|
||||||
|
|
||||||
|
@ -174,7 +174,7 @@ gst_audioscale_sinkconnect (GstPad * pad, GstCaps * caps)
|
||||||
r->channels = gst_caps_get_int (caps, "channels");
|
r->channels = gst_caps_get_int (caps, "channels");
|
||||||
|
|
||||||
resample_reinit(r);
|
resample_reinit(r);
|
||||||
//g_print("audioscale: unsupported scaling method %d\n", audioscale->method);
|
/*g_print("audioscale: unsupported scaling method %d\n", audioscale->method); */
|
||||||
|
|
||||||
return GST_PAD_CONNECT_OK;
|
return GST_PAD_CONNECT_OK;
|
||||||
}
|
}
|
||||||
|
@ -215,7 +215,7 @@ gst_audioscale_init (Audioscale *audioscale)
|
||||||
r->filter_length = 16;
|
r->filter_length = 16;
|
||||||
r->i_rate = -1;
|
r->i_rate = -1;
|
||||||
r->o_rate = -1;
|
r->o_rate = -1;
|
||||||
//r->verbose = 1;
|
/*r->verbose = 1; */
|
||||||
|
|
||||||
resample_init(r);
|
resample_init(r);
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,7 +58,7 @@ struct _Audioscale {
|
||||||
|
|
||||||
GstPad *sinkpad,*srcpad;
|
GstPad *sinkpad,*srcpad;
|
||||||
|
|
||||||
// audio state
|
/* audio state */
|
||||||
gint format;
|
gint format;
|
||||||
gint channels;
|
gint channels;
|
||||||
gint frequency;
|
gint frequency;
|
||||||
|
|
|
@ -4,7 +4,7 @@ plugin_LTLIBRARIES = libgstsinesrc.la
|
||||||
|
|
||||||
libgstsinesrc_la_SOURCES = gstsinesrc.c
|
libgstsinesrc_la_SOURCES = gstsinesrc.c
|
||||||
libgstsinesrc_la_CFLAGS = $(GST_CFLAGS)
|
libgstsinesrc_la_CFLAGS = $(GST_CFLAGS)
|
||||||
libgstsinesrc_la_LIBADD = $(GST_LIBS)
|
libgstsinesrc_la_LIBADD =
|
||||||
libgstsinesrc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
libgstsinesrc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
||||||
|
|
||||||
noinst_HEADERS = gstsinesrc.h
|
noinst_HEADERS = gstsinesrc.h
|
||||||
|
|
|
@ -97,14 +97,14 @@ int main(int argc,char *argv[]) {
|
||||||
|
|
||||||
g_value_set_float(vals[0], 10.0);
|
g_value_set_float(vals[0], 10.0);
|
||||||
|
|
||||||
// this defines the maximum slope that this
|
* this defines the maximum slope that this *
|
||||||
// param can change. This says that in 50ms
|
* param can change. This says that in 50ms *
|
||||||
// the value can change by a maximum of one semitone
|
* the value can change by a maximum of one semitone *
|
||||||
// (the log of one semitone is 0.693)
|
* (the log of one semitone is 0.693) *
|
||||||
g_value_set_float(vals[1], 0.693);
|
g_value_set_float(vals[1], 0.693);
|
||||||
g_value_set_float(vals[2], 50000000.0);
|
g_value_set_float(vals[2], 50000000.0);
|
||||||
|
|
||||||
// set the default update period to 0.5ms, or 2000Hz
|
* set the default update period to 0.5ms, or 2000Hz *
|
||||||
GST_DPARAM_DEFAULT_UPDATE_PERIOD(freq) = 2000000LL;
|
GST_DPARAM_DEFAULT_UPDATE_PERIOD(freq) = 2000000LL;
|
||||||
*/
|
*/
|
||||||
volume = gst_dparam_new(G_TYPE_FLOAT);
|
volume = gst_dparam_new(G_TYPE_FLOAT);
|
||||||
|
@ -114,13 +114,13 @@ int main(int argc,char *argv[]) {
|
||||||
|
|
||||||
/* vals = GST_DPARAM_GET_POINT(volume, 0LL);
|
/* vals = GST_DPARAM_GET_POINT(volume, 0LL);
|
||||||
|
|
||||||
// this defines the maximum slope that this
|
* this defines the maximum slope that this *
|
||||||
// param can change. This says that in 10ms
|
* param can change. This says that in 10ms *
|
||||||
// the value can change by a maximum of 0.2
|
* the value can change by a maximum of 0.2 *
|
||||||
g_value_set_float(vals[1], 0.2);
|
g_value_set_float(vals[1], 0.2);
|
||||||
g_value_set_float(vals[2], 10000000.0);
|
g_value_set_float(vals[2], 10000000.0);
|
||||||
|
|
||||||
// set the default update period to 0.5ms, or 2000Hz
|
* set the default update period to 0.5ms, or 2000Hz *
|
||||||
GST_DPARAM_DEFAULT_UPDATE_PERIOD(volume) = 2000000LL;
|
GST_DPARAM_DEFAULT_UPDATE_PERIOD(volume) = 2000000LL;
|
||||||
*/
|
*/
|
||||||
g_assert(gst_dpman_attach_dparam (dpman, "volume", volume));
|
g_assert(gst_dpman_attach_dparam (dpman, "volume", volume));
|
||||||
|
@ -155,7 +155,7 @@ int main(int argc,char *argv[]) {
|
||||||
|
|
||||||
|
|
||||||
/***** set up the handlers and such *****/
|
/***** set up the handlers and such *****/
|
||||||
//gtk_signal_connect(volume_adj,"value-changed",GTK_SIGNAL_FUNC(volume_changed),sinesrc);
|
/*gtk_signal_connect(volume_adj,"value-changed",GTK_SIGNAL_FUNC(volume_changed),sinesrc); */
|
||||||
g_signal_connect(volume_adj,"value-changed",
|
g_signal_connect(volume_adj,"value-changed",
|
||||||
GTK_SIGNAL_FUNC(dynparm_value_changed),
|
GTK_SIGNAL_FUNC(dynparm_value_changed),
|
||||||
volume);
|
volume);
|
||||||
|
|
|
@ -55,7 +55,7 @@ enum {
|
||||||
ARG_VOLUME,
|
ARG_VOLUME,
|
||||||
};
|
};
|
||||||
|
|
||||||
// FIXME: this is not core business...
|
/* FIXME: this is not core business... */
|
||||||
GST_PADTEMPLATE_FACTORY (sinesrc_src_factory,
|
GST_PADTEMPLATE_FACTORY (sinesrc_src_factory,
|
||||||
"src",
|
"src",
|
||||||
GST_PAD_SRC,
|
GST_PAD_SRC,
|
||||||
|
@ -80,10 +80,10 @@ static void gst_sinesrc_set_property (GObject *object, guint prop_id,
|
||||||
const GValue *value, GParamSpec *pspec);
|
const GValue *value, GParamSpec *pspec);
|
||||||
static void gst_sinesrc_get_property (GObject *object, guint prop_id,
|
static void gst_sinesrc_get_property (GObject *object, guint prop_id,
|
||||||
GValue *value, GParamSpec *pspec);
|
GValue *value, GParamSpec *pspec);
|
||||||
//static gboolean gst_sinesrc_change_state(GstElement *element,
|
/*static gboolean gst_sinesrc_change_state(GstElement *element, */
|
||||||
// GstElementState state);
|
/* GstElementState state); */
|
||||||
//static void gst_sinesrc_close_audio(GstSineSrc *src);
|
/*static void gst_sinesrc_close_audio(GstSineSrc *src); */
|
||||||
//static gboolean gst_sinesrc_open_audio(GstSineSrc *src);
|
/*static gboolean gst_sinesrc_open_audio(GstSineSrc *src); */
|
||||||
|
|
||||||
static void gst_sinesrc_update_freq(GValue *value, gpointer data);
|
static void gst_sinesrc_update_freq(GValue *value, gpointer data);
|
||||||
static void gst_sinesrc_populate_sinetable (GstSineSrc *src);
|
static void gst_sinesrc_populate_sinetable (GstSineSrc *src);
|
||||||
|
@ -93,7 +93,7 @@ static void gst_sinesrc_force_caps (GstSineSrc *src);
|
||||||
static GstBuffer* gst_sinesrc_get (GstPad *pad);
|
static GstBuffer* gst_sinesrc_get (GstPad *pad);
|
||||||
|
|
||||||
static GstElementClass *parent_class = NULL;
|
static GstElementClass *parent_class = NULL;
|
||||||
//static guint gst_sinesrc_signals[LAST_SIGNAL] = { 0 };
|
/*static guint gst_sinesrc_signals[LAST_SIGNAL] = { 0 }; */
|
||||||
|
|
||||||
GType
|
GType
|
||||||
gst_sinesrc_get_type (void)
|
gst_sinesrc_get_type (void)
|
||||||
|
@ -150,7 +150,7 @@ gst_sinesrc_class_init (GstSineSrcClass *klass)
|
||||||
gobject_class->set_property = gst_sinesrc_set_property;
|
gobject_class->set_property = gst_sinesrc_set_property;
|
||||||
gobject_class->get_property = gst_sinesrc_get_property;
|
gobject_class->get_property = gst_sinesrc_get_property;
|
||||||
|
|
||||||
// gstelement_class->change_state = gst_sinesrc_change_state;
|
/* gstelement_class->change_state = gst_sinesrc_change_state; */
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -231,7 +231,7 @@ gst_sinesrc_get(GstPad *pad)
|
||||||
src->table_lookup_next = src->table_lookup + 1;
|
src->table_lookup_next = src->table_lookup + 1;
|
||||||
src->table_interp = src->table_pos - src->table_lookup;
|
src->table_interp = src->table_pos - src->table_lookup;
|
||||||
|
|
||||||
// wrap the array lookups if we're out of bounds
|
/* wrap the array lookups if we're out of bounds */
|
||||||
if (src->table_lookup_next >= src->table_size){
|
if (src->table_lookup_next >= src->table_size){
|
||||||
src->table_lookup_next -= src->table_size;
|
src->table_lookup_next -= src->table_size;
|
||||||
if (src->table_lookup >= src->table_size){
|
if (src->table_lookup >= src->table_size){
|
||||||
|
@ -242,11 +242,11 @@ gst_sinesrc_get(GstPad *pad)
|
||||||
|
|
||||||
src->table_pos += src->table_inc;
|
src->table_pos += src->table_inc;
|
||||||
|
|
||||||
//no interpolation
|
/*no interpolation */
|
||||||
//samples[i] = src->table_data[src->table_lookup]
|
/*samples[i] = src->table_data[src->table_lookup] */
|
||||||
// * src->volume * 32767.0;
|
/* * src->volume * 32767.0; */
|
||||||
|
|
||||||
//linear interpolation
|
/*linear interpolation */
|
||||||
samples[i++] = ((src->table_interp
|
samples[i++] = ((src->table_interp
|
||||||
*(src->table_data[src->table_lookup_next]
|
*(src->table_data[src->table_lookup_next]
|
||||||
-src->table_data[src->table_lookup]
|
-src->table_data[src->table_lookup]
|
||||||
|
@ -289,10 +289,10 @@ gst_sinesrc_set_property (GObject *object, guint prop_id, const GValue *value, G
|
||||||
src->buffer_size = g_value_get_int (value);
|
src->buffer_size = g_value_get_int (value);
|
||||||
break;
|
break;
|
||||||
case ARG_FREQ:
|
case ARG_FREQ:
|
||||||
//gst_dpman_handle_set_prop(src->dpman, "freq", value);
|
/*gst_dpman_handle_set_prop(src->dpman, "freq", value); */
|
||||||
break;
|
break;
|
||||||
case ARG_VOLUME:
|
case ARG_VOLUME:
|
||||||
//gst_dpman_handle_set_prop(src->dpman, "volume", value);
|
/*gst_dpman_handle_set_prop(src->dpman, "volume", value); */
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -380,7 +380,7 @@ gst_sinesrc_update_freq(GValue *value, gpointer data)
|
||||||
src->freq = g_value_get_float(value);
|
src->freq = g_value_get_float(value);
|
||||||
src->table_inc = src->table_size * src->freq / src->samplerate;
|
src->table_inc = src->table_size * src->freq / src->samplerate;
|
||||||
|
|
||||||
//GST_DEBUG(GST_CAT_PARAMS, "freq %f\n", src->freq);
|
/*GST_DEBUG(GST_CAT_PARAMS, "freq %f\n", src->freq); */
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
|
|
|
@ -15,7 +15,7 @@ libgstvideoscale_la_SOURCES = \
|
||||||
videoscale.c \
|
videoscale.c \
|
||||||
$(ARCHSRCS)
|
$(ARCHSRCS)
|
||||||
libgstvideoscale_la_CFLAGS = -O2 $(FOMIT_FRAME_POINTER) -funroll-all-loops -finline-functions -ffast-math $(GST_CFLAGS)
|
libgstvideoscale_la_CFLAGS = -O2 $(FOMIT_FRAME_POINTER) -funroll-all-loops -finline-functions -ffast-math $(GST_CFLAGS)
|
||||||
libgstvideoscale_la_LIBADD = $(GST_LIBS)
|
libgstvideoscale_la_LIBADD =
|
||||||
libgstvideoscale_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
libgstvideoscale_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
||||||
|
|
||||||
noinst_HEADERS = gstvideoscale.h videoscale_x86.h
|
noinst_HEADERS = gstvideoscale.h videoscale_x86.h
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
//#define DEBUG_ENABLED
|
/*#define DEBUG_ENABLED */
|
||||||
#include <gstvideoscale.h>
|
#include <gstvideoscale.h>
|
||||||
|
|
||||||
|
|
||||||
|
@ -96,7 +96,7 @@ static void gst_videoscale_get_property (GObject *object, guint prop_id, GValue
|
||||||
static void gst_videoscale_chain (GstPad *pad, GstBuffer *buf);
|
static void gst_videoscale_chain (GstPad *pad, GstBuffer *buf);
|
||||||
|
|
||||||
static GstElementClass *parent_class = NULL;
|
static GstElementClass *parent_class = NULL;
|
||||||
//static guint gst_videoscale_signals[LAST_SIGNAL] = { 0 };
|
/*static guint gst_videoscale_signals[LAST_SIGNAL] = { 0 }; */
|
||||||
|
|
||||||
GType
|
GType
|
||||||
gst_videoscale_get_type (void)
|
gst_videoscale_get_type (void)
|
||||||
|
@ -130,13 +130,13 @@ gst_videoscale_class_init (GstVideoscaleClass *klass)
|
||||||
|
|
||||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_WIDTH,
|
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_WIDTH,
|
||||||
g_param_spec_int("width","width","width",
|
g_param_spec_int("width","width","width",
|
||||||
G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); // CHECKME
|
G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); /* CHECKME */
|
||||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_HEIGHT,
|
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_HEIGHT,
|
||||||
g_param_spec_int("height","height","height",
|
g_param_spec_int("height","height","height",
|
||||||
G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); // CHECKME
|
G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); /* CHECKME */
|
||||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_METHOD,
|
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_METHOD,
|
||||||
g_param_spec_enum("method","method","method",
|
g_param_spec_enum("method","method","method",
|
||||||
GST_TYPE_VIDEOSCALE_METHOD,0,G_PARAM_READWRITE)); // CHECKME!
|
GST_TYPE_VIDEOSCALE_METHOD,0,G_PARAM_READWRITE)); /* CHECKME! */
|
||||||
|
|
||||||
parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
|
parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
|
||||||
|
|
||||||
|
@ -219,21 +219,21 @@ gst_videoscale_init (GstVideoscale *videoscale)
|
||||||
GST_DEBUG(0,"gst_videoscale_init\n");
|
GST_DEBUG(0,"gst_videoscale_init\n");
|
||||||
videoscale->sinkpad = gst_pad_new_from_template (
|
videoscale->sinkpad = gst_pad_new_from_template (
|
||||||
GST_PADTEMPLATE_GET (sink_templ), "sink");
|
GST_PADTEMPLATE_GET (sink_templ), "sink");
|
||||||
//gst_pad_set_negotiate_function(videoscale->sinkpad,videoscale_negotiate_sink);
|
/*gst_pad_set_negotiate_function(videoscale->sinkpad,videoscale_negotiate_sink); */
|
||||||
gst_element_add_pad(GST_ELEMENT(videoscale),videoscale->sinkpad);
|
gst_element_add_pad(GST_ELEMENT(videoscale),videoscale->sinkpad);
|
||||||
gst_pad_set_chain_function(videoscale->sinkpad,gst_videoscale_chain);
|
gst_pad_set_chain_function(videoscale->sinkpad,gst_videoscale_chain);
|
||||||
gst_pad_set_connect_function(videoscale->sinkpad,gst_videoscale_sinkconnect);
|
gst_pad_set_connect_function(videoscale->sinkpad,gst_videoscale_sinkconnect);
|
||||||
|
|
||||||
videoscale->srcpad = gst_pad_new_from_template (
|
videoscale->srcpad = gst_pad_new_from_template (
|
||||||
GST_PADTEMPLATE_GET (src_templ), "src");
|
GST_PADTEMPLATE_GET (src_templ), "src");
|
||||||
//gst_pad_set_negotiate_function(videoscale->srcpad,videoscale_negotiate_src);
|
/*gst_pad_set_negotiate_function(videoscale->srcpad,videoscale_negotiate_src); */
|
||||||
gst_element_add_pad(GST_ELEMENT(videoscale),videoscale->srcpad);
|
gst_element_add_pad(GST_ELEMENT(videoscale),videoscale->srcpad);
|
||||||
|
|
||||||
videoscale->targetwidth = -1;
|
videoscale->targetwidth = -1;
|
||||||
videoscale->targetheight = -1;
|
videoscale->targetheight = -1;
|
||||||
videoscale->method = GST_VIDEOSCALE_NEAREST;
|
videoscale->method = GST_VIDEOSCALE_NEAREST;
|
||||||
//videoscale->method = GST_VIDEOSCALE_BILINEAR;
|
/*videoscale->method = GST_VIDEOSCALE_BILINEAR; */
|
||||||
//videoscale->method = GST_VIDEOSCALE_POINT_SAMPLE;
|
/*videoscale->method = GST_VIDEOSCALE_POINT_SAMPLE; */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -275,7 +275,7 @@ GST_DEBUG(0,"size=%ld from=%dx%d to=%dx%d newsize=%d\n",
|
||||||
GST_BUFFER_DATA(outbuf) = g_malloc (videoscale->targetwidth*videoscale->targetheight*2);
|
GST_BUFFER_DATA(outbuf) = g_malloc (videoscale->targetwidth*videoscale->targetheight*2);
|
||||||
GST_BUFFER_TIMESTAMP(outbuf) = GST_BUFFER_TIMESTAMP(buf);
|
GST_BUFFER_TIMESTAMP(outbuf) = GST_BUFFER_TIMESTAMP(buf);
|
||||||
|
|
||||||
//g_return_if_fail(videoscale->scale_cc != NULL);
|
/*g_return_if_fail(videoscale->scale_cc != NULL); */
|
||||||
videoscale->scale_cc(videoscale, data, GST_BUFFER_DATA(outbuf));
|
videoscale->scale_cc(videoscale, data, GST_BUFFER_DATA(outbuf));
|
||||||
|
|
||||||
GST_DEBUG (0,"gst_videoscale_chain: pushing buffer of %d bytes in '%s'\n",GST_BUFFER_SIZE(outbuf),
|
GST_DEBUG (0,"gst_videoscale_chain: pushing buffer of %d bytes in '%s'\n",GST_BUFFER_SIZE(outbuf),
|
||||||
|
|
|
@ -57,7 +57,7 @@ struct _GstVideoscale {
|
||||||
|
|
||||||
GstPad *sinkpad,*srcpad;
|
GstPad *sinkpad,*srcpad;
|
||||||
|
|
||||||
// video state
|
/* video state */
|
||||||
gint format;
|
gint format;
|
||||||
gint width;
|
gint width;
|
||||||
gint height;
|
gint height;
|
||||||
|
|
|
@ -54,7 +54,7 @@ gst_videoscale_setup (GstVideoscale *scale)
|
||||||
case GST_MAKE_FOURCC('R','G','B',' '):
|
case GST_MAKE_FOURCC('R','G','B',' '):
|
||||||
scale->scale_cc = gst_videoscale_scale_rgb;
|
scale->scale_cc = gst_videoscale_scale_rgb;
|
||||||
/* XXX */
|
/* XXX */
|
||||||
//scale->scale_bytes = gst_caps_get_int(scale->srcpad->caps,"bpp")/8;
|
/*scale->scale_bytes = gst_caps_get_int(scale->srcpad->caps,"bpp")/8; */
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
g_print("videoscale: unsupported video format %08x\n", scale->format);
|
g_print("videoscale: unsupported video format %08x\n", scale->format);
|
||||||
|
@ -170,8 +170,8 @@ gst_videoscale_bilinear (unsigned char *src, double x, double y, int sw, int sh)
|
||||||
a*b*RC(j+1,k+1);
|
a*b*RC(j+1,k+1);
|
||||||
|
|
||||||
color=rint(dest);
|
color=rint(dest);
|
||||||
if (color<0) color=abs(color); // cannot have negative values !
|
if (color<0) color=abs(color); /* cannot have negative values ! */
|
||||||
//if (color<0) color=0; // cannot have negative values !
|
/*if (color<0) color=0; // cannot have negative values ! */
|
||||||
if (color>255) color=255;
|
if (color>255) color=255;
|
||||||
|
|
||||||
return (unsigned char) color;
|
return (unsigned char) color;
|
||||||
|
@ -207,7 +207,7 @@ gst_videoscale_bicubic (unsigned char *src, double x, double y, int sw, int sh)
|
||||||
dest= -b*(1-b)*(1-b)*t1+ (1-2*b*b+b*b*b)*t2+ b*(1+b-b*b)*t3+ b*b*(b-1)*t4;
|
dest= -b*(1-b)*(1-b)*t1+ (1-2*b*b+b*b*b)*t2+ b*(1+b-b*b)*t3+ b*b*(b-1)*t4;
|
||||||
|
|
||||||
color=rint(dest);
|
color=rint(dest);
|
||||||
if (color<0) color=abs(color); // cannot have negative values !
|
if (color<0) color=abs(color); /* cannot have negative values ! */
|
||||||
if (color>255) color=255;
|
if (color>255) color=255;
|
||||||
|
|
||||||
return (unsigned char) color;
|
return (unsigned char) color;
|
||||||
|
@ -237,7 +237,7 @@ gst_videoscale_scale_plane_slow (GstVideoscale *scale, unsigned char *src, unsig
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
*dest++ = scale->filter(src, xr, yr, sw, sh);
|
*dest++ = scale->filter(src, xr, yr, sw, sh);
|
||||||
//*dest++ = gst_videoscale_bicubic(src, xr, yr, sw, sh);
|
/**dest++ = gst_videoscale_bicubic(src, xr, yr, sw, sh); */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
* Boston, MA 02111-1307, USA.
|
* Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//#define DEBUG_ENABLED
|
/*#define DEBUG_ENABLED */
|
||||||
|
|
||||||
#include "gstvideoscale.h"
|
#include "gstvideoscale.h"
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ plugin_LTLIBRARIES = libgstvolume.la
|
||||||
|
|
||||||
libgstvolume_la_SOURCES = gstvolume.c
|
libgstvolume_la_SOURCES = gstvolume.c
|
||||||
libgstvolume_la_CFLAGS = $(GST_CFLAGS)
|
libgstvolume_la_CFLAGS = $(GST_CFLAGS)
|
||||||
libgstvolume_la_LIBADD = $(GST_LIBS)
|
libgstvolume_la_LIBADD =
|
||||||
libgstvolume_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
libgstvolume_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
||||||
|
|
||||||
noinst_HEADERS = gstvolume.h filter.func
|
noinst_HEADERS = gstvolume.h filter.func
|
||||||
|
|
|
@ -96,7 +96,7 @@ static void inline volume_fast_8bit_chain (gint8* data, guint numsamples, G
|
||||||
static void inline volume_fast_16bit_chain (gint16* data, guint numsamples, GstVolume *filter);
|
static void inline volume_fast_16bit_chain (gint16* data, guint numsamples, GstVolume *filter);
|
||||||
|
|
||||||
static GstElementClass *parent_class = NULL;
|
static GstElementClass *parent_class = NULL;
|
||||||
//static guint gst_filter_signals[LAST_SIGNAL] = { 0 };
|
/*static guint gst_filter_signals[LAST_SIGNAL] = { 0 }; */
|
||||||
|
|
||||||
static GstBufferPool*
|
static GstBufferPool*
|
||||||
volume_get_bufferpool (GstPad *pad)
|
volume_get_bufferpool (GstPad *pad)
|
||||||
|
@ -206,7 +206,7 @@ volume_class_init (GstVolumeClass *klass)
|
||||||
|
|
||||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_SILENT,
|
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_SILENT,
|
||||||
g_param_spec_boolean("silent","silent","silent",
|
g_param_spec_boolean("silent","silent","silent",
|
||||||
TRUE,G_PARAM_READWRITE)); // CHECKME
|
TRUE,G_PARAM_READWRITE)); /* CHECKME */
|
||||||
|
|
||||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_MUTED,
|
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_MUTED,
|
||||||
g_param_spec_boolean("muted","muted","muted",
|
g_param_spec_boolean("muted","muted","muted",
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
// #include <gst/meta/audioraw.h>
|
/* #include <gst/meta/audioraw.h> */
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
|
@ -5,22 +5,22 @@ plugin_LTLIBRARIES = libgstv4lelement.la libgstv4lsrc.la \
|
||||||
|
|
||||||
libgstv4lelement_la_SOURCES = gstv4lelement.c v4l_calls.c v4l-overlay_calls.c
|
libgstv4lelement_la_SOURCES = gstv4lelement.c v4l_calls.c v4l-overlay_calls.c
|
||||||
libgstv4lelement_la_CFLAGS = $(GST_CFLAGS)
|
libgstv4lelement_la_CFLAGS = $(GST_CFLAGS)
|
||||||
libgstv4lelement_la_LIBADD = $(GST_LIBS)
|
libgstv4lelement_la_LIBADD =
|
||||||
libgstv4lelement_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
libgstv4lelement_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
||||||
|
|
||||||
libgstv4lsrc_la_SOURCES = gstv4lsrc.c v4lsrc_calls.c
|
libgstv4lsrc_la_SOURCES = gstv4lsrc.c v4lsrc_calls.c
|
||||||
libgstv4lsrc_la_CFLAGS = $(GST_CFLAGS)
|
libgstv4lsrc_la_CFLAGS = $(GST_CFLAGS)
|
||||||
libgstv4lsrc_la_LIBADD = $(GST_LIBS) libgstv4lelement.la
|
libgstv4lsrc_la_LIBADD = libgstv4lelement.la
|
||||||
libgstv4lsrc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
libgstv4lsrc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
||||||
|
|
||||||
libgstv4lmjpegsrc_la_SOURCES = gstv4lmjpegsrc.c v4lmjpegsrc_calls.c
|
libgstv4lmjpegsrc_la_SOURCES = gstv4lmjpegsrc.c v4lmjpegsrc_calls.c
|
||||||
libgstv4lmjpegsrc_la_CFLAGS = $(GST_CFLAGS)
|
libgstv4lmjpegsrc_la_CFLAGS = $(GST_CFLAGS)
|
||||||
libgstv4lmjpegsrc_la_LIBADD = $(GST_LIBS) libgstv4lelement.la
|
libgstv4lmjpegsrc_la_LIBADD = libgstv4lelement.la
|
||||||
libgstv4lmjpegsrc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
libgstv4lmjpegsrc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
||||||
|
|
||||||
libgstv4lmjpegsink_la_SOURCES = gstv4lmjpegsink.c v4lmjpegsink_calls.c
|
libgstv4lmjpegsink_la_SOURCES = gstv4lmjpegsink.c v4lmjpegsink_calls.c
|
||||||
libgstv4lmjpegsink_la_CFLAGS = $(GST_CFLAGS)
|
libgstv4lmjpegsink_la_CFLAGS = $(GST_CFLAGS)
|
||||||
libgstv4lmjpegsink_la_LIBADD = $(GST_LIBS) libgstv4lelement.la
|
libgstv4lmjpegsink_la_LIBADD = libgstv4lelement.la
|
||||||
libgstv4lmjpegsink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
libgstv4lmjpegsink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
||||||
|
|
||||||
noinst_HEADERS = gstv4lelement.h v4l_calls.h \
|
noinst_HEADERS = gstv4lelement.h v4l_calls.h \
|
||||||
|
|
|
@ -81,7 +81,7 @@ static gboolean plugin_init (GModule *mo
|
||||||
|
|
||||||
|
|
||||||
static GstElementClass *parent_class = NULL;
|
static GstElementClass *parent_class = NULL;
|
||||||
//static guint gst_v4lelement_signals[LAST_SIGNAL] = { 0 };
|
/*static guint gst_v4lelement_signals[LAST_SIGNAL] = { 0 }; */
|
||||||
|
|
||||||
|
|
||||||
GType
|
GType
|
||||||
|
|
|
@ -87,7 +87,7 @@ static GstCaps *capslist = NULL;
|
||||||
static GstPadTemplate *src_template;
|
static GstPadTemplate *src_template;
|
||||||
|
|
||||||
static GstElementClass *parent_class = NULL;
|
static GstElementClass *parent_class = NULL;
|
||||||
//static guint gst_v4lmjpegsrc_signals[LAST_SIGNAL] = { 0 };
|
/*static guint gst_v4lmjpegsrc_signals[LAST_SIGNAL] = { 0 }; */
|
||||||
|
|
||||||
|
|
||||||
GType
|
GType
|
||||||
|
|
|
@ -84,7 +84,7 @@ static GstCaps *capslist = NULL;
|
||||||
static GstPadTemplate *src_template;
|
static GstPadTemplate *src_template;
|
||||||
|
|
||||||
static GstElementClass *parent_class = NULL;\
|
static GstElementClass *parent_class = NULL;\
|
||||||
//static guint gst_v4lsrc_signals[LAST_SIGNAL] = { 0 };
|
/*static guint gst_v4lsrc_signals[LAST_SIGNAL] = { 0 }; */
|
||||||
|
|
||||||
|
|
||||||
GType
|
GType
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
* Boston, MA 02111-1307, USA.
|
* Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//#define DEBUG
|
/*#define DEBUG */
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
* Boston, MA 02111-1307, USA.
|
* Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//#define DEBUG
|
/*#define DEBUG */
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
* Boston, MA 02111-1307, USA.
|
* Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//#define DEBUG
|
/*#define DEBUG */
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
@ -227,7 +227,7 @@ gst_v4lmjpegsink_set_playback (GstV4lMjpegSink *v4lmjpegsink,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
GST_V4L_CHECK_OPEN(GST_V4LELEMENT(v4lmjpegsink));
|
GST_V4L_CHECK_OPEN(GST_V4LELEMENT(v4lmjpegsink));
|
||||||
//GST_V4L_CHECK_NOT_ACTIVE(GST_V4LELEMENT(v4lmjpegsink));
|
/*GST_V4L_CHECK_NOT_ACTIVE(GST_V4LELEMENT(v4lmjpegsink)); */
|
||||||
|
|
||||||
if (ioctl(GST_V4LELEMENT(v4lmjpegsink)->video_fd, MJPIOC_G_PARAMS, &bparm) < 0)
|
if (ioctl(GST_V4LELEMENT(v4lmjpegsink)->video_fd, MJPIOC_G_PARAMS, &bparm) < 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
* Boston, MA 02111-1307, USA.
|
* Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//#define DEBUG
|
/*#define DEBUG */
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
* Boston, MA 02111-1307, USA.
|
* Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
//#define DEBUG
|
/*#define DEBUG */
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
|
@ -10,7 +10,7 @@ BUILT_SOURCES = \
|
||||||
|
|
||||||
libgstidentity2_la_SOURCES = gst-identity2.gob $(GOB_FILES_ID)
|
libgstidentity2_la_SOURCES = gst-identity2.gob $(GOB_FILES_ID)
|
||||||
libgstidentity2_la_CFLAGS = $(GST_CFLAGS)
|
libgstidentity2_la_CFLAGS = $(GST_CFLAGS)
|
||||||
libgstidentity2_la_LIBADD = $(GST_LIBS)
|
libgstidentity2_la_LIBADD =
|
||||||
|
|
||||||
%.c %.h %-private.h: %.gob
|
%.c %.h %-private.h: %.gob
|
||||||
gob $<
|
gob $<
|
||||||
|
|
Loading…
Reference in a new issue