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; }
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; }
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; }
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)); }
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)); }
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; }
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; }
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)); }
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; }
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; }