[MMFMWK-8140] Add support for disable audio in recording

Add no audio for audio encoder type

Signed-off-by: Jian Li <jian.li@nxp.com>
diff --git a/tools/grecorder/grecorder.c b/tools/grecorder/grecorder.c
index a79c9a8..1fec19f 100644
--- a/tools/grecorder/grecorder.c
+++ b/tools/grecorder/grecorder.c
@@ -620,7 +620,7 @@
       {"preview video height"},
       {"disable view finder"},
       {"need preview buffer"},
-      {"audio encoder type: 0->default(MP3), 1->MP3"},
+      {"audio encoder type: 0->default(MP3), 1->MP3, 2->No Audio"},
       {"audio encoder bitrate(kbps)"},
       {"video encoder type: 0->default(H264), 1->H264, 2->MPEG4, 3->H263, 4->MPEG, 5->VP8"},
       {"video encoder bitrate(kbps)"},
@@ -673,7 +673,7 @@
       {0, 0, 0, 0}
     };
 
-    c = getopt_long (argc, argv, "a:s:w:e:u:f:k:t:q:i:v:n:z:o:r:x",
+    c = getopt_long (argc, argv, "a:s:w:e:u:f:k:t:q:i:v:n:z:o:r:x:g:",
         long_options, &option_index);
 
     /* Detect the end of the options. */
@@ -755,6 +755,10 @@
         if (optarg)
           pOpt->video_detect = atoi (optarg);
         break;
+      case 'g':
+        if (optarg)
+          pOpt->audio_encoder = atoi (optarg);
+        break;
       case 'h':
         printf ("Usage: grecorder-1.0 [OPTION]\n");
         for (c = 0; long_options[c].name; ++c) {
diff --git a/tools/grecorder/recorder_engine.c b/tools/grecorder/recorder_engine.c
index 3dbd17f..ffb7c07 100644
--- a/tools/grecorder/recorder_engine.c
+++ b/tools/grecorder/recorder_engine.c
@@ -833,17 +833,12 @@
     else
       wrapper = gst_element_factory_make ("wrappercamerabinsrc", NULL);
 
-    if (g_strcmp0(recorder->videosrc_name, "v4l2src") == 0
-        || g_strcmp0(recorder->videosrc_name, "imxv4l2src") == 0
-        || g_strcmp0(recorder->videosrc_name, "videotestsrc") == 0) {
-      camerasrc = gst_element_factory_make (recorder->videosrc_name, NULL);
-    } else {
-      camerasrc = gst_parse_bin_from_description (recorder->videosrc_name, TRUE,
-          NULL);
-    }
+    camerasrc = gst_parse_bin_from_description (recorder->videosrc_name, TRUE, NULL);
+
     if (g_strcmp0(recorder->videosrc_name, "videotestsrc") == 0) {
       g_object_set (camerasrc, "is-live", TRUE, NULL);
     }
+
     g_object_set (wrapper, "video-source", camerasrc, NULL);
     g_object_set (wrapper, "post-previews", FALSE, NULL);
     g_object_unref (camerasrc);
@@ -1763,6 +1758,12 @@
 static REresult set_audio_encoder_settings(RecorderEngineHandle handle, REAudioEncoderSettings *audioEncoderSettings)
 {
   RecorderEngine *h = (RecorderEngine *)(handle);
+  gRecorderEngine *recorder = (gRecorderEngine *)(h->pData);
+  CHECK_PARAM (audioEncoderSettings->encoderType, RE_AUDIO_ENCODER_LIST_END);
+
+  GST_DEBUG ("set audio encoder format: %d", audioEncoderSettings->encoderType);
+  recorder->audio_encoder_format = audioEncoderSettings->encoderType;
+
   return RE_RESULT_SUCCESS;
 }
 
diff --git a/tools/grecorder/recorder_engine.h b/tools/grecorder/recorder_engine.h
index c03fce2..2d55853 100644
--- a/tools/grecorder/recorder_engine.h
+++ b/tools/grecorder/recorder_engine.h
@@ -109,7 +109,8 @@
 
 #define RE_AUDIO_ENCODER_DEFAULT            ((REuint32) 0x00000000)
 #define RE_AUDIO_ENCODER_MP3                ((REuint32) 0x00000001)
-#define RE_AUDIO_ENCODER_LIST_END           ((REuint32) 0x00000002)
+#define RE_AUDIO_ENCODER_NO_AUDIO           ((REuint32) 0x00000002)
+#define RE_AUDIO_ENCODER_LIST_END           ((REuint32) 0x00000003)
 
 #define RE_VIDEO_ENCODER_DEFAULT            ((REuint32) 0x00000000)
 #define RE_VIDEO_ENCODER_H264               ((REuint32) 0x00000001)