Apply ffenc_aac to audio bin
authorHyunil Park <hyunil46.park@samsung.com>
Thu, 18 Apr 2013 08:02:46 +0000 (17:02 +0900)
committerHyunil Park <hyunil46.park@samsung.com>
Thu, 18 Apr 2013 08:02:46 +0000 (17:02 +0900)
Change-Id: I303d485d2e5b598989ed3f1f01fcf91fa823e7d3

packaging/gst-rtsp-server-wfd.spec
src/rtsp-client.c

index 426dd2c5a3aa369ef37e4e435bc9db49b5556f0e..70da3ee7d13f367bb125636fb9151167610dca86 100755 (executable)
@@ -2,7 +2,7 @@
 Name:       gst-rtsp-server-wfd
 Summary:    Multimedia Framework Wifi-Display Library
 Version:    0.1.0
-Release:    11
+Release:    12
 Group:      System/Libraries
 License:    LGPLv2+
 Source0:    %{name}-%{version}.tar.gz
index a13757feb3da355f92d6eaf6b7c797c73acf2d1c..6045ff8f53f21967500dccfeaf2b5f011e9dc94b 100755 (executable)
@@ -4206,6 +4206,7 @@ gst_rtsp_client_create_audio_capture_bin (GstRTSPClient * client, GstRTSPClientS
   GstElement *audiosrc = NULL;
   GstElement *acaps = NULL;
   GstElement *aenc = NULL;
+  GstElement *aencsrccaps = NULL;
   int channels = 0;
   int freq = 0;
   gchar *acodec = NULL;
@@ -4265,9 +4266,11 @@ gst_rtsp_client_create_audio_capture_bin (GstRTSPClient * client, GstRTSPClientS
             "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;
   }
@@ -4277,6 +4280,14 @@ gst_rtsp_client_create_audio_capture_bin (GstRTSPClient * client, GstRTSPClientS
     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) {
@@ -4284,9 +4295,9 @@ gst_rtsp_client_create_audio_capture_bin (GstRTSPClient * client, GstRTSPClientS
     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;
   }
@@ -4394,7 +4405,7 @@ gst_rtsp_client_create_filesrc_bin (GstRTSPClient * client, GstRTSPClientSrcBin
   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;