good:rtsp: Add MP2T encoder for video and code cleanup 21/283321/4
authorjiyong.min <jiyong.min@samsung.com>
Mon, 24 Oct 2022 07:37:43 +0000 (16:37 +0900)
committerjiyong.min <jiyong.min@samsung.com>
Thu, 3 Nov 2022 06:35:23 +0000 (15:35 +0900)
[Version] 1.20.0-40
[Issue Type] Update

Change-Id: Iee7eb9c8fdf115d70f3e2c3053b60a9b166dea8a

packaging/gstreamer.spec
subprojects/gst-plugins-good/gst/rtsp/gstrtspsrc.c

index 4197cd439916acf06a8c56a3ab6558c890f29987..bb74324b20425fe9062076c348472098e65ea173 100644 (file)
@@ -62,7 +62,7 @@
 
 Name:           %{_name}
 Version:        1.20.0
-Release:        39
+Release:        40
 Summary:        Streaming-Media Framework Runtime
 License:        LGPL-2.0+
 Group:          Multimedia/Framework
index 5f745e4adfd6bbe10fadbffccc0512b216ccc9ba..56775bf195b9f436b1bd7b87d537a207344e81fa 100644 (file)
@@ -2268,6 +2268,32 @@ gst_rtspsrc_collect_payloads (GstRTSPSrc * src, const GstSDPMessage * sdp,
   guint i, len;
   const gchar *proto;
   GstCaps *global_caps;
+#ifdef TIZEN_FEATURE_RTSP_MODIFICATION
+  static const gchar *supported_video_encoder[] = {
+    "H261",
+    "H263",
+    "H263-1998",
+    "H263-2000",
+    "H264",
+    "MP4V-ES",
+    "MP2T",
+    NULL,
+  };
+  static const gchar *supported_audio_encoder[] = {
+    "MP4A-LATM",
+    "AMR",
+    "AMR-WB",
+    "AMR-NB",
+    "mpeg4-generic",
+    "MPEG4-GENERIC",
+    "QCELP",
+    NULL,
+  };
+  static const char *supported_audio_encoder2[] = {
+    "G726",
+    "PCMU",
+  };
+#endif
 
   /* get proto */
   proto = gst_sdp_media_get_proto (media);
@@ -2336,16 +2362,9 @@ gst_rtspsrc_collect_payloads (GstRTSPSrc * src, const GstSDPMessage * sdp,
       if (!strcmp (mediatype, "video")) {
         if ((encoder = gst_structure_get_string (s, "encoding-name"))) {
           GST_DEBUG_OBJECT (src, " encoder : %s", encoder);
-          if ((!strcmp (encoder, "H261")) ||
-              (!strcmp (encoder, "H263")) ||
-              (!strcmp (encoder, "H263-1998"))
-              || (!strcmp (encoder, "H263-2000")) || (!strcmp (encoder, "H264"))
-              || (!strcmp (encoder, "MP4V-ES"))) {
-            src->is_video_codec_supported = TRUE;
-            GST_DEBUG_OBJECT (src, "Supported Video Codec %s", encoder);
-          } else {
-            GST_DEBUG_OBJECT (src, "Unsupported Video Codec %s", encoder);
-          }
+          src->is_video_codec_supported = g_strv_contains(supported_video_encoder, encoder);
+          GST_DEBUG_OBJECT (src, "%s Video Codec %s",
+              (src->is_video_codec_supported) ? "Supported" : "Unsupported", encoder);
         }
 
         src->video_codec = g_strdup (encoder);
@@ -2356,18 +2375,14 @@ gst_rtspsrc_collect_payloads (GstRTSPSrc * src, const GstSDPMessage * sdp,
       } else if (!strcmp (mediatype, "audio")) {
         if ((encoder = gst_structure_get_string (s, "encoding-name"))) {
           GST_DEBUG_OBJECT (src, " encoder : %s", encoder);
-          if ((!strcmp (encoder, "MP4A-LATM")) ||
-              (!strcmp (encoder, "AMR")) || (!strcmp (encoder, "AMR-WB"))
-              || (!strcmp (encoder, "AMR-NB"))
-              || (!strcmp (encoder, "mpeg4-generic"))
-              || (!strcmp (encoder, "MPEG4-GENERIC"))
-              || (!strcmp (encoder, "QCELP")) || ((strstr (encoder, "G726"))
-                  || (strstr (encoder, "PCMU")))) {
-            src->is_audio_codec_supported = TRUE;
-            GST_DEBUG_OBJECT (src, "Supported Audio Codec %s", encoder);
-          } else {
-            GST_DEBUG_OBJECT (src, "Unsupported Audio Codec %s", encoder);
+          src->is_audio_codec_supported = g_strv_contains(supported_audio_encoder, encoder);
+          for (i = 0; i < G_N_ELEMENTS(supported_audio_encoder2); i++) {
+            if (strstr (encoder, supported_audio_encoder2[i]))
+              src->is_audio_codec_supported = TRUE;
           }
+
+          GST_DEBUG_OBJECT (src, "%s Audio Codec %s",
+              (src->is_audio_codec_supported) ? "Supported" : "Unsupported", encoder);
         }
 
         src->audio_codec = g_strdup (encoder);