Exemple #1
0
static void
gst_dasf_sink_init (GstDasfSink* self, GstDasfSinkClass* klass)
{
	GST_DEBUG ("");

	GstDasfSinkPrivate* priv = GST_DASF_SINK_GET_PRIVATE (self);
	priv->num_input_buffers = NUM_INPUT_BUFFERS_DEFAULT;
	priv->incount = 0;
	priv->volume = 100;
	priv->mute = FALSE;
	self->clock = NULL;
	priv->clock_source = default_clock_source;
	priv->clock_required = default_clock_required;
	priv->first_time_playing = TRUE;
	self->component = NULL;
	self->pp = NULL;
	self->tracks = NULL;

	GstMixerTrack* track = g_object_new (GST_TYPE_MIXER_TRACK, NULL);
	track->label = g_strdup ("DASF Volume");
	track->num_channels = 1;
	track->min_volume = 0;
	track->max_volume = 100;
	track->flags = GST_MIXER_TRACK_OUTPUT | GST_MIXER_TRACK_MASTER;
	self->tracks = g_slist_append (self->tracks, track);

	self->factory = goo_ti_component_factory_get_instance ();

	gst_goo_util_register_pipeline_change_cb (GST_ELEMENT (self), gst_dasf_enable);

//	gst_base_sink_set_async_enabled (self, FALSE);

	return;
}
Exemple #2
0
static void
gst_goo_encarmaac_init (GstGooEncArmAac* self, GstGooEncArmAacClass *klass)
{
	/* goo stuff */
	{
		self->factory = goo_ti_component_factory_get_instance ();
		self->component = goo_component_factory_get_component
			(self->factory, GOO_TI_ARMAAC_ENCODER);

		self->inport =
			goo_component_get_port (self->component, "input0");
		g_assert (self->inport != NULL);

		self->outport =
			goo_component_get_port (self->component, "output0");
		g_assert (self->outport != NULL);

		OMX_AUDIO_PARAM_AACPROFILETYPE* param = NULL;
		param = GOO_TI_ARMAACENC_GET_OUTPUT_PORT_PARAM (self->component);

		param->nBitRate = DEFAULT_BITRATE;
		param->eAACStreamFormat = DEFAULT_OUTPUTFORMAT;
		param->eAACProfile = DEFAULT_PROFILE;
		param->nChannels = DEFAULT_CHANNELS;
		param->eChannelMode = DEFAULT_CHANNELS_MODE;
		param->nSampleRate = DEFAULT_SAMPLERATE;
	}

	/* gst stuff */
	{
		self->sinkpad = gst_pad_new_from_static_template
			(&sink_template, "sink");
		gst_pad_set_setcaps_function
			(self->sinkpad,
			 GST_DEBUG_FUNCPTR (gst_goo_encarmaac_setcaps));
		gst_pad_set_event_function
			(self->sinkpad,
			 GST_DEBUG_FUNCPTR (gst_goo_encarmaac_event));
		gst_pad_set_chain_function
			(self->sinkpad,
			 GST_DEBUG_FUNCPTR (gst_goo_encarmaac_chain));
		gst_element_add_pad (GST_ELEMENT (self), self->sinkpad);

		self->srcpad = gst_pad_new_from_static_template
			(&src_template, "src");
		gst_pad_use_fixed_caps (self->srcpad);
		gst_element_add_pad (GST_ELEMENT (self), self->srcpad);
	}

	/* gobject stuff */
	g_object_set_data (G_OBJECT (self->component), "gst", self);
	g_object_set_data (G_OBJECT (self), "goo", self->component);

	self->bitratemode = GOO_TI_ARMAACENC_BR_CBR;
	self->adapter = gst_goo_adapter_new ();

	GST_DEBUG_OBJECT (self, "");

        return;
}
Exemple #3
0
void
setup (void)
{
	factory = goo_ti_component_factory_get_instance ();
	component = goo_component_factory_get_component (factory, GOO_TI_H263_DECODER);
	rnd = g_rand_new_with_seed (time (0));

	return;
}
Exemple #4
0
END_TEST

START_TEST (test_g711dec_2)
{
        GooComponentFactory* factory =
                goo_ti_component_factory_get_instance ();
        GooComponent* component =
                goo_component_factory_get_component (factory,
                                                     GOO_TI_G711_DECODER);
        /* audio properties */

        g_object_set (G_OBJECT (component),
                      "dasf-mode", TRUE,
                      "data-path", NULL,
                      "mute", FALSE,
                      "volume", 100,
                      NULL);

        /* input component parameters */
        {
                GOO_TI_G711DEC_GET_INPUT_PARAM (component)->nChannels = 1;
                GOO_TI_G711DEC_GET_INPUT_PARAM (component)->ePCMMode = OMX_AUDIO_PCMModeALaw;
        }

        /* input component parameters */
        {
                GOO_TI_G711DEC_GET_OUTPUT_PARAM (component)->nChannels = 1;
                GOO_TI_G711DEC_GET_OUTPUT_PARAM (component)->nSamplingRate = 8000;
                GOO_TI_G711DEC_GET_OUTPUT_PARAM (component)->ePCMMode = OMX_AUDIO_PCMModeLinear;
        }
        GOO_OBJECT_WARNING (component, "stream ID = %d",
                            goo_ti_audio_component_get_stream_id
                            (GOO_TI_AUDIO_COMPONENT (component)));

        goo_component_set_state_idle (component);

        goo_component_set_state_executing (component);

        GooEngine* engine = goo_engine_new (
                component,
                "/omx/patterns/mono_8000Hz_80_alaw.bit",
                NULL);

        goo_engine_play (engine);

        goo_component_set_state_idle (component);
        goo_component_set_state_loaded (component);

        g_object_unref (G_OBJECT (engine));
        g_object_unref (G_OBJECT (component));
        g_object_unref (G_OBJECT (factory));

}
Exemple #5
0
END_TEST

#if 0
START_TEST (test_pcmenc_2)
{
    GooComponentFactory *factory = goo_ti_component_factory_get_instance ();
    GooComponent *component = goo_component_factory_get_component (factory,
                              GOO_TI_PCM_ENCODER);
    /* audio properties */
    g_object_set (G_OBJECT (component),
                  "dasf-mode", TRUE,
                  "data-path", NULL,
                  "mute", FALSE,
                  NULL);

    {
        GOO_TI_PCMENC_GET_INPUT_PORT_PARAM (component)->nPortIndex = OMX_DirInput;
        GOO_TI_PCMENC_GET_INPUT_PORT_PARAM (component)->nChannels = 1;
    }

    /* output port component parameters */
    {
        GOO_TI_PCMENC_GET_OUTPUT_PORT_PARAM (component)->nPortIndex = OMX_DirOutput;
        GOO_TI_PCMENC_GET_OUTPUT_PORT_PARAM (component)->nChannels = 1;
        GOO_TI_PCMENC_GET_OUTPUT_PORT_PARAM (component)->nSamplingRate = 8000;
    }
    GOO_OBJECT_WARNING (component, "stream ID = %d",
                        goo_ti_audio_component_get_stream_id
                        (GOO_TI_AUDIO_COMPONENT (component)));

    GooEngine *engine = goo_engine_new (component,
                                        NULL,
                                        "/tmp/check_goo_8000.pcm");

    g_object_set (engine, "num-buffers", 500, NULL);

    goo_component_set_state_idle (component);

    goo_component_set_state_executing (component);

    goo_engine_play (engine);

    goo_component_set_state_idle (component);
    goo_component_set_state_loaded (component);

    g_object_unref (G_OBJECT (engine));
    g_object_unref (G_OBJECT (component));
    g_object_unref (G_OBJECT (factory));

}
Exemple #6
0
static void
gst_goo_encpcm_init (GstGooEncPcm* self, GstGooEncPcmClass* klass)
{
	/* goo stuff */
	self->factory = goo_ti_component_factory_get_instance ();
	self->component =
		goo_component_factory_get_component (self->factory,
						     GOO_TI_PCM_ENCODER);

	self->inport = goo_component_get_port (self->component, "input0");
	g_assert (self->inport != NULL);

	self->outport = goo_component_get_port (self->component, "output0");
	g_assert (self->outport != NULL);

	/* gst stuff */
	self->sinkpad = gst_pad_new_from_static_template (&sink_template,
							  "sink");
	gst_pad_set_setcaps_function
		(self->sinkpad, GST_DEBUG_FUNCPTR (gst_goo_encpcm_setcaps));
	gst_pad_set_event_function
		(self->sinkpad, GST_DEBUG_FUNCPTR (gst_goo_encpcm_event));
	gst_pad_set_chain_function
		(self->sinkpad, GST_DEBUG_FUNCPTR (gst_goo_encpcm_chain));
	gst_element_add_pad (GST_ELEMENT (self), self->sinkpad);

	self->srcpad = gst_pad_new_from_static_template (&src_template,
							 "src");
	gst_pad_use_fixed_caps (self->srcpad);
	gst_element_add_pad (GST_ELEMENT (self), self->srcpad);

	/* gobject stuff */
	g_object_set_data (G_OBJECT (self->component), "gst", self);
	g_object_set_data (G_OBJECT (self), "goo", self->component);

	self->adapter = gst_goo_adapter_new ();

	/* Initializing the private structure */
	GstGooEncPcmPrivate* priv = GST_GOO_ENCPCM_GET_PRIVATE (self);
	priv->incount = 0;
	priv->outcount = 0;

	GST_DEBUG_OBJECT (self, "");

        return;
}
Exemple #7
0
static void
gst_goo_filter_init (GstGooFilter* self, GstGooFilterClass* klass)
{
	GST_DEBUG ("Enter");

	GstGooFilterPrivate* priv = GST_GOO_FILTER_GET_PRIVATE (self);
	priv->num_input_buffers = NUM_INPUT_BUFFERS_DEFAULT;
	priv->num_output_buffers = NUM_OUTPUT_BUFFERS_DEFAULT;
	priv->incount = 0;
	priv->outcount = 0;
	priv->process_mode = DEFAULT_PROCESS_MODE;

	self->factory = goo_ti_component_factory_get_instance ();

	/* GST */
	GstPadTemplate* pad_template;

	pad_template = gst_element_class_get_pad_template
	(GST_ELEMENT_CLASS (klass), "sink");
	g_return_if_fail (pad_template != NULL);

	self->sinkpad = gst_pad_new_from_template (pad_template, "sink");
	gst_pad_set_event_function (self->sinkpad,
			GST_DEBUG_FUNCPTR (gst_goo_filter_sink_event));
	gst_pad_set_chain_function (self->sinkpad,
			GST_DEBUG_FUNCPTR (gst_goo_filter_chain));

	gst_element_add_pad (GST_ELEMENT (self), self->sinkpad);

	pad_template = gst_element_class_get_pad_template
	(GST_ELEMENT_CLASS (klass), "src");
	g_return_if_fail (pad_template != NULL);

	self->srcpad = gst_pad_new_from_template (pad_template, "src");

	gst_element_add_pad (GST_ELEMENT (self), self->srcpad);

	self->adapter = gst_goo_adapter_new ();
#if 0
	self->dasfsrc_sem = gst_goo_sem_new (0);
#endif

	GST_DEBUG ("Exit");
	return;
}
Exemple #8
0
END_TEST

START_TEST (test_pcmenc_2)
{
    GooComponentFactory *factory = goo_ti_component_factory_get_instance ();
    GooComponent *component = goo_component_factory_get_component (factory,
                              GOO_TI_PCM_ENCODER);
    /* audio properties */
    g_object_set (G_OBJECT (component),
                  "dasf-mode", FALSE,
                  "data-path", NULL,
                  NULL);

    {
        GOO_TI_PCMENC_GET_INPUT_PORT_PARAM (component)->nPortIndex = 0;
        GOO_TI_PCMENC_GET_INPUT_PORT_PARAM (component)->nChannels = 1;
    }

    /* output port component parameters */
    {
        GOO_TI_PCMENC_GET_OUTPUT_PORT_PARAM (component)->nPortIndex = 1;
        GOO_TI_PCMENC_GET_OUTPUT_PORT_PARAM (component)->nChannels = 1;
    }
    GOO_OBJECT_WARNING (component, "stream ID = %d",
                        goo_ti_audio_component_get_stream_id
                        (GOO_TI_AUDIO_COMPONENT (component)));

    GooEngine *engine = goo_engine_new (component,
                                        "/omx/patterns/m16.wav",
                                        "/tmp/m_16000.pcm");

    goo_component_set_state_idle (component);

    goo_component_set_state_executing (component);

    goo_engine_play (engine);

    goo_component_set_state_idle (component);
    goo_component_set_state_loaded (component);

    g_object_unref (G_OBJECT (engine));
    g_object_unref (G_OBJECT (component));
    g_object_unref (G_OBJECT (factory));

}
Exemple #9
0
static void
gst_goo_encgsmhr_init (GstGooEncGsmHr* self, GstGooEncGsmHrClass* klass)
{
	/* goo stuff */
	self->factory = goo_ti_component_factory_get_instance ();
	self->component =
		goo_component_factory_get_component (self->factory,
						     GOO_TI_GSMHR_ENCODER);

	self->bDTX = DEFAULT_DTX;
	self->bHiPassFilter = DEFAULT_HIPASS_FILTER;

	self->inport = goo_component_get_port (self->component, "input0");
	g_assert (self->inport != NULL);

	self->outport = goo_component_get_port (self->component, "output0");
	g_assert (self->outport != NULL);

	/* gst stuff */
	self->sinkpad = gst_pad_new_from_static_template (&sink_template,
							  "sink");
	gst_pad_set_setcaps_function
		(self->sinkpad, GST_DEBUG_FUNCPTR (gst_goo_encgsmhr_setcaps));
	gst_pad_set_event_function
		(self->sinkpad, GST_DEBUG_FUNCPTR (gst_goo_encgsmhr_event));
	gst_pad_set_chain_function
		(self->sinkpad, GST_DEBUG_FUNCPTR (gst_goo_encgsmhr_chain));
	gst_element_add_pad (GST_ELEMENT (self), self->sinkpad);

	self->srcpad = gst_pad_new_from_static_template (&src_template,
							 "src");
	gst_pad_use_fixed_caps (self->srcpad);
	gst_element_add_pad (GST_ELEMENT (self), self->srcpad);

	/* gobject stuff */
	g_object_set_data (G_OBJECT (self->component), "gst", self);
	g_object_set_data (G_OBJECT (self), "goo", self->component);

	self->adapter = gst_goo_adapter_new ();

	GST_DEBUG_OBJECT (self, "");
	return;
}
Exemple #10
0
static void
gst_goo_encjpeg_init (GstGooEncJpeg* self, GstGooEncJpegClass* klass)
{
	GST_DEBUG ("");

	self->factory = goo_ti_component_factory_get_instance ();
	self->component = goo_component_factory_get_component(self->factory, GOO_TI_JPEG_ENCODER);

	/* param */
	{
		GOO_TI_JPEGENC_GET_PARAM (self->component)->nQFactor =
			QUALITY_DEFAULT;
	}

	/* inport */
	{
		self->inport = goo_component_get_port (self->component,
						       "input0");
		g_assert (self->inport != NULL);

		OMX_PARAM_PORTDEFINITIONTYPE* param;
		param = GOO_PORT_GET_DEFINITION (self->inport);
		param->format.image.nFrameWidth = WIDTH_DEFAULT;
		param->format.image.nFrameHeight = HEIGHT_DEFAULT;
		param->format.image.eColorFormat = COLOR_FORMAT_DEFAULT;

		g_object_set (self->inport,
			      "buffercount", NUM_INPUT_BUFFERS_DEFAULT, NULL);
	}

	/* outport */
	{
		self->outport = goo_component_get_port (self->component,
							"output0");
		g_assert (self->outport != NULL);

		OMX_PARAM_PORTDEFINITIONTYPE* param;
		param = GOO_PORT_GET_DEFINITION (self->outport);
		param->format.image.nFrameWidth = WIDTH_DEFAULT;
		param->format.image.nFrameHeight = HEIGHT_DEFAULT;
		param->format.image.eColorFormat = COLOR_FORMAT_DEFAULT;

		g_object_set (self->outport, "buffercount", NUM_INPUT_BUFFERS_DEFAULT, NULL);
	}

	GstGooEncJpegPrivate* priv = GST_GOO_ENCJPEG_GET_PRIVATE (self);
	priv->num_input_buffers = NUM_INPUT_BUFFERS_DEFAULT;
	priv->num_output_buffers = NUM_OUTPUT_BUFFERS_DEFAULT;
	priv->incount = 0;
	priv->outcount = 0;
	priv->quality = QUALITY_DEFAULT;
	priv->colorformat = COLOR_FORMAT_DEFAULT;
	priv->width = WIDTH_DEFAULT;
	priv->height = HEIGHT_DEFAULT;
	priv->omxbufsiz = 0;

	/* GST */
	GstPadTemplate* pad_template;

	pad_template = gst_element_class_get_pad_template
		(GST_ELEMENT_CLASS (klass), "sink");
	g_return_if_fail (pad_template != NULL);
	self->sinkpad = gst_pad_new_from_template (pad_template, "sink");
	gst_pad_set_chain_function
		(self->sinkpad, GST_DEBUG_FUNCPTR (gst_goo_encjpeg_chain));
	gst_pad_set_setcaps_function
		(self->sinkpad, GST_DEBUG_FUNCPTR (gst_goo_encjpeg_setcaps));
/*	gst_pad_set_bufferalloc_function
		(self->sinkpad, GST_DEBUG_FUNCPTR (gst_goo_encjpeg_buffer_alloc));   */
	gst_element_add_pad (GST_ELEMENT (self), self->sinkpad);

	pad_template = gst_element_class_get_pad_template
		(GST_ELEMENT_CLASS (klass), "src");
	g_return_if_fail (pad_template != NULL);
	self->srcpad = gst_pad_new_from_template (pad_template, "src");
	gst_element_add_pad (GST_ELEMENT (self), self->srcpad);

	self->adapter = gst_goo_adapter_new ();

	g_object_set_data (G_OBJECT (self->component), "gst", self);
	g_object_set_data (G_OBJECT (self), "goo", self->component);

	return;
}