webrtc_source: Remove setting of 'encoding-name' and 'clock-rate' 87/260287/3
authorSangchul Lee <sc11.lee@samsung.com>
Wed, 23 Jun 2021 06:36:40 +0000 (15:36 +0900)
committerSangchul Lee <sc11.lee@samsung.com>
Wed, 23 Jun 2021 08:24:47 +0000 (17:24 +0900)
Normally, these values are fixed inside of a payloader element.
Hence, we don't need to set these values via a capsfilter for the payloader.

[Version] 0.2.21
[Issue Type] Improvement

Change-Id: I5d2c9d5f0462cd2000a616cc82971c36657e55b1
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
packaging/capi-media-webrtc.spec
src/webrtc_source.c

index 35e09dabe52f2aab0ea87200d83f9dbefb9f871a..f9c9c2e12198909b8d4a060d89c4846e932a2f17 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-webrtc
 Summary:    A WebRTC library in Tizen Native API
-Version:    0.2.20
+Version:    0.2.21
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index b773533e1de8b4239104ca3c07f83cee6515cad3..7de1848e0fd763df1e836c6b92b0f9c04cc15ec3 100644 (file)
@@ -64,23 +64,6 @@ do { \
        LOG_DEBUG("%s is prepended", GST_ELEMENT_NAME(x_element)); \
 } while (0)
 
-typedef enum {
-       CODEC_TYPE_OPUS,
-       CODEC_TYPE_VORBIS,
-       CODEC_TYPE_VP8,
-       CODEC_TYPE_VP9,
-       CODEC_TYPE_THEORA,
-       CODEC_TYPE_H264,
-       CODEC_TYPE_H265,
-       CODEC_TYPE_JPEG,
-       CODEC_TYPE_NOT_SUPPORTED,
-} codec_type_e;
-
-typedef struct {
-       const char *encoding_name;
-       const int clock_rate;
-} payload_type_s;
-
 typedef struct {
        media_packet_h packet;
        GstBuffer *buffer;
@@ -102,19 +85,6 @@ static direction_info_s __direction_info[] = {
        [WEBRTC_TRANSCEIVER_DIRECTION_SENDRECV] = { "SENDRECV", GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_SENDRECV }
 };
 
-static payload_type_s payload_types[] = {
-       /* AUDIO */
-       [CODEC_TYPE_OPUS] = { "OPUS", 48000 },
-       [CODEC_TYPE_VORBIS] = { "VORBIS", -1 }, /* NOTE: -1 for various clock rate */
-       /* VIDEO */
-       [CODEC_TYPE_VP8] = { "VP8", 90000 },
-       [CODEC_TYPE_VP9] = { "VP9", 90000 },
-       [CODEC_TYPE_THEORA] = { "THEORA", 90000 },
-       [CODEC_TYPE_H264] = { "H264", 90000 },
-       [CODEC_TYPE_H265] = { "H265", 90000 },
-       [CODEC_TYPE_JPEG] = { "JPEG", 90000 },
-};
-
 static const char * __get_audio_media_type(const char *codec_name)
 {
        RET_VAL_IF(codec_name == NULL, NULL, "codec_name is NULL");
@@ -151,34 +121,6 @@ static const char * __get_video_media_type(const char *codec_name)
        return NULL;
 }
 
-static codec_type_e __get_audio_codec_type(const gchar *media_type)
-{
-       if (!g_strcmp0(media_type, MEDIA_TYPE_AUDIO_OPUS))
-               return CODEC_TYPE_OPUS;
-       else if (!g_strcmp0(media_type, MEDIA_TYPE_AUDIO_VORBIS))
-               return CODEC_TYPE_VORBIS;
-
-       return CODEC_TYPE_NOT_SUPPORTED;
-}
-
-static codec_type_e __get_video_codec_type(const gchar *media_type)
-{
-       if (!g_strcmp0(media_type, MEDIA_TYPE_VIDEO_VP8))
-               return CODEC_TYPE_VP8;
-       else if (!g_strcmp0(media_type, MEDIA_TYPE_VIDEO_VP9))
-               return CODEC_TYPE_VP9;
-       else if (!g_strcmp0(media_type, MEDIA_TYPE_VIDEO_THEORA))
-               return CODEC_TYPE_THEORA;
-       else if (!g_strcmp0(media_type, MEDIA_TYPE_VIDEO_H264))
-               return CODEC_TYPE_H264;
-       else if (!g_strcmp0(media_type, MEDIA_TYPE_VIDEO_H265))
-               return CODEC_TYPE_H265;
-       else if (!g_strcmp0(media_type, MEDIA_TYPE_VIDEO_JPEG))
-               return CODEC_TYPE_JPEG;
-
-       return CODEC_TYPE_NOT_SUPPORTED;
-}
-
 static const char *__get_format_name(media_format_mimetype_e mime_type, bool zerocopy_enabled)
 {
        switch (mime_type) {
@@ -565,19 +507,13 @@ static GstCaps *__make_rtp_caps(const gchar *media_type, unsigned int id)
 {
        GstCaps *caps;
        bool is_video;
-       codec_type_e codec_type;
 
        RET_VAL_IF(media_type == NULL, NULL, "media_type is NULL");
 
        is_video = (g_strrstr(media_type, "video") || g_strrstr(media_type, "image")) ? TRUE : FALSE;
-       codec_type = is_video ? __get_video_codec_type(media_type) : __get_audio_codec_type(media_type);
-
-       RET_VAL_IF(codec_type == CODEC_TYPE_NOT_SUPPORTED, NULL, "media_type[%s] is not supported", media_type);
 
        caps = gst_caps_new_simple("application/x-rtp",
                                "media", G_TYPE_STRING, is_video ? "video" : "audio",
-                               "clock-rate", G_TYPE_INT, payload_types[codec_type].clock_rate, /* FIXME: support various clock-rate */
-                               "encoding-name", G_TYPE_STRING, payload_types[codec_type].encoding_name,
                                "payload", G_TYPE_INT, id + 95, NULL);
 
        PRINT_CAPS(caps, "RTP");