[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)