GstElement *audiosrc = NULL;
GstElement *acaps = NULL;
GstElement *aenc = NULL;
+ GstElement *aencsrccaps = NULL;
int channels = 0;
int freq = 0;
gchar *acodec = NULL;
"channels", G_TYPE_INT, channels, NULL), NULL);
}
- if(client->caCodec == WFD_AUDIO_AAC) {
- acodec = g_strdup("savsenc_aac");
- } else{
+ if(client->caCodec == WFD_AUDIO_AAC)
+ acodec = g_strdup("ffenc_aac");
+ else if(client->caCodec == WFD_AUDIO_AC3)
+ acodec = g_strdup("savsenc_ac3");
+ else{
GST_ERROR_OBJECT (client, "Yet to support other than H264 format");
goto create_error;
}
GST_ERROR_OBJECT (client, "failed to create audio encoder element");
goto create_error;
}
+ aencsrccaps = gst_element_factory_make ("capsfilter", "audioencsrccaps");
+ if (NULL == aencsrccaps) {
+ GST_ERROR_OBJECT (client, "failed to create audio capsilfter element");
+ goto create_error;
+ }
+ g_object_set (G_OBJECT (aencsrccaps), "caps",
+ gst_caps_new_simple ("audio/mpeg",
+ "stream-format", G_TYPE_STRING, "adts", NULL), NULL);
srcbin->aqueue = gst_element_factory_make ("queue", "audio-queue");
if (!srcbin->aqueue) {
goto create_error;
}
- gst_bin_add_many (srcbin->srcbin, audiosrc, acaps, aenc, srcbin->aqueue, NULL);
+ gst_bin_add_many (srcbin->srcbin, audiosrc, acaps, aenc, aencsrccaps, srcbin->aqueue, NULL);
- if (!gst_element_link_many (audiosrc, acaps, aenc, srcbin->aqueue, NULL)) {
+ if (!gst_element_link_many (audiosrc, acaps, aenc, aencsrccaps, srcbin->aqueue, NULL)) {
GST_ERROR_OBJECT (client, "Failed to link audio src elements...");
goto create_error;
}
g_object_set (srcbin->vparse, "config-interval", 1, NULL);
g_object_set (srcbin->vparse, "output-format", 1, NULL);
- vdec = gst_element_factory_make ("your_h264_encoder", "video-dec"); /* Tizen doesn't have h264 encorder*/
+ vdec = gst_element_factory_make ("omx_h264dec", "video-dec");
if (!vdec) {
GST_ERROR_OBJECT(client, "failed to create video decoder element");
goto create_error;