[rtsp-mediafa-factory] Remove g_strdup of no use and add g_autofree 28/267828/5 accepted/tizen_unified upstream/1.19.2 accepted/tizen/unified/20220105.120648 submit/tizen/20220104.072457
authorHyunsoo Park <hance.park@samsung.com>
Fri, 10 Dec 2021 07:25:52 +0000 (16:25 +0900)
committerHyunsoo Park <hance.park@samsung.com>
Mon, 13 Dec 2021 05:54:53 +0000 (14:54 +0900)
Change-Id: I0aacbccb733da1eeb4a5d56450e22670c7284cfb
Signed-off-by: Hyunsoo Park <hance.park@samsung.com>
gst/rtsp-server/rtsp-media-factory-wfd.c
packaging/gst-rtsp-server.spec

index 9aa9f92..b6e087c 100644 (file)
@@ -531,7 +531,7 @@ _rtsp_media_factory_wfd_create_audio_capture_bin (GstRTSPMediaFactoryWFD *
   guint channels = 0;
   gboolean is_enc_req = TRUE;
   guint freq = 0;
-  gchar *acodec = NULL;
+  g_autofree gchar *acodec = NULL;
 
   priv = factory->priv;
 
@@ -541,7 +541,7 @@ _rtsp_media_factory_wfd_create_audio_capture_bin (GstRTSPMediaFactoryWFD *
   }
 
   priv->audio_srcbin = (GstBin *)gst_bin_new ("audio");
-  
+
   /* create audio src element */
   audiosrc = gst_element_factory_make ("pulsesrc", "audiosrc");
   if (!audiosrc) {
@@ -700,8 +700,6 @@ _rtsp_media_factory_wfd_create_audio_capture_bin (GstRTSPMediaFactoryWFD *
   }
 
   priv->audio_queue = aqueue;
-  if (acodec)
-    g_free (acodec);
   if (audio_properties_name)
     gst_structure_free (audio_properties_name);
   return TRUE;
@@ -709,8 +707,6 @@ _rtsp_media_factory_wfd_create_audio_capture_bin (GstRTSPMediaFactoryWFD *
 create_error:
   gst_object_unref (acaps);
   gst_object_unref (aqueue);
-  if (acodec)
-    g_free (acodec);
   if (audio_properties_name)
     gst_structure_free (audio_properties_name);
   return FALSE;
@@ -724,7 +720,6 @@ _rtsp_media_factory_wfd_create_videotest_bin (GstRTSPMediaFactoryWFD * factory,
   GstElement *vcaps = NULL;
   GstElement *videoconvert = NULL;
   GstElement *venc_caps = NULL;
-  gchar *vcodec = NULL;
   GstElement *venc = NULL;
   GstElement *vparse = NULL;
   GstElement *vqueue = NULL;
@@ -777,17 +772,12 @@ _rtsp_media_factory_wfd_create_videotest_bin (GstRTSPMediaFactoryWFD * factory,
           "framerate", GST_TYPE_FRACTION, priv->video_framerate, 1, NULL),
       NULL);
 
-  if (priv->video_codec == GST_WFD_VIDEO_H264)
-    vcodec = g_strdup (priv->video_encoder);
-  else {
+  if (priv->video_codec != GST_WFD_VIDEO_H264) {
     GST_ERROR_OBJECT (factory, "Yet to support other than H264 format");
     goto create_error;
   }
 
-  venc = gst_element_factory_make (vcodec, "videoenc");
-  if (vcodec)
-    g_free (vcodec);
-
+  venc = gst_element_factory_make (priv->video_encoder, "videoenc");
   if (!venc) {
     GST_ERROR_OBJECT (factory, "failed to create video encoder element");
     goto create_error;
@@ -840,7 +830,6 @@ _rtsp_media_factory_wfd_create_waylandsrc_bin (GstRTSPMediaFactoryWFD * factory,
 {
   GstElement *videosrc = NULL;
   GstElement *vcaps = NULL;
-  gchar *vcodec = NULL;
   GstElement *venc = NULL;
   GstElement *vparse = NULL;
   GstElement *vqueue = NULL;
@@ -878,17 +867,12 @@ _rtsp_media_factory_wfd_create_waylandsrc_bin (GstRTSPMediaFactoryWFD * factory,
           "framerate", GST_TYPE_FRACTION, priv->video_framerate, 1, NULL),
       NULL);
 
-  if (priv->video_codec == GST_WFD_VIDEO_H264)
-    vcodec = g_strdup (priv->video_encoder);
-  else {
+  if (priv->video_codec != GST_WFD_VIDEO_H264) {
     GST_ERROR_OBJECT (factory, "Yet to support other than H264 format");
     goto create_error;
   }
 
-  venc = gst_element_factory_make (vcodec, "videoenc");
-  if (vcodec)
-    g_free (vcodec);
-
+  venc = gst_element_factory_make (priv->video_encoder, "videoenc");
   if (!venc) {
     GST_ERROR_OBJECT (factory, "failed to create video encoder element");
     goto create_error;
@@ -939,7 +923,6 @@ _rtsp_media_factory_wfd_create_camera_capture_bin (GstRTSPMediaFactoryWFD *
   GstElement *venc = NULL;
   GstElement *vparse = NULL;
   GstElement *vqueue = NULL;
-  gchar *vcodec = NULL;
   GstRTSPMediaFactoryWFDPrivate *priv = NULL;
 
   priv = factory->priv;
@@ -967,17 +950,12 @@ _rtsp_media_factory_wfd_create_camera_capture_bin (GstRTSPMediaFactoryWFD *
           "framerate", GST_TYPE_FRACTION, priv->video_framerate, 1, NULL),
       NULL);
 
-  if (priv->video_codec == GST_WFD_VIDEO_H264)
-    vcodec = g_strdup (priv->video_encoder);
-  else {
+  if (priv->video_codec != GST_WFD_VIDEO_H264) {
     GST_ERROR_OBJECT (factory, "Yet to support other than H264 format");
     goto create_error;
   }
 
-  venc = gst_element_factory_make (vcodec, "videoenc");
-  if (vcodec)
-    g_free (vcodec);
-
+  venc = gst_element_factory_make (priv->video_encoder, "videoenc");
   if (!venc) {
     GST_ERROR_OBJECT (factory, "failed to create video encoder element");
     goto create_error;
@@ -1027,7 +1005,6 @@ _rtsp_media_factory_wfd_create_xcapture_bin (GstRTSPMediaFactoryWFD * factory,
   GstElement *vcaps = NULL;
   GstElement *venc_caps = NULL;
   GstElement *videoconvert = NULL, *videoscale = NULL;
-  gchar *vcodec = NULL;
   GstElement *venc = NULL;
   GstElement *vparse = NULL;
   GstElement *vqueue = NULL;
@@ -1070,17 +1047,12 @@ _rtsp_media_factory_wfd_create_xcapture_bin (GstRTSPMediaFactoryWFD * factory,
           "framerate", GST_TYPE_FRACTION, priv->video_framerate, 1, NULL),
       NULL);
 
-  if (priv->video_codec == GST_WFD_VIDEO_H264)
-    vcodec = g_strdup (priv->video_encoder);
-  else {
+  if (priv->video_codec != GST_WFD_VIDEO_H264) {
     GST_ERROR_OBJECT (factory, "Yet to support other than H264 format");
     goto create_error;
   }
 
-  venc = gst_element_factory_make (vcodec, "videoenc");
-  if (vcodec)
-    g_free (vcodec);
-
+  venc = gst_element_factory_make (priv->video_encoder, "videoenc");
   if (!venc) {
     GST_ERROR_OBJECT (factory, "failed to create video encoder element");
     goto create_error;
@@ -1145,7 +1117,6 @@ _rtsp_media_factory_wfd_create_xvcapture_bin (GstRTSPMediaFactoryWFD * factory,
 {
   GstElement *videosrc = NULL;
   GstElement *vcaps = NULL;
-  gchar *vcodec = NULL;
   GstElement *venc = NULL;
   GstElement *vparse = NULL;
   GstElement *vqueue = NULL;
@@ -1177,14 +1148,12 @@ _rtsp_media_factory_wfd_create_xvcapture_bin (GstRTSPMediaFactoryWFD * factory,
           "framerate", GST_TYPE_FRACTION, priv->video_framerate, 1, NULL),
       NULL);
 
-  if (priv->video_codec == GST_WFD_VIDEO_H264) {
-    vcodec = g_strdup (priv->video_encoder);
-  } else {
+  if (priv->video_codec != GST_WFD_VIDEO_H264) {
     GST_ERROR_OBJECT (factory, "Yet to support other than H264 format");
     goto create_error;
   }
 
-  venc = gst_element_factory_make (vcodec, "videoenc");
+  venc = gst_element_factory_make (priv->video_encoder, "videoenc");
   if (!venc) {
     GST_ERROR_OBJECT (factory, "failed to create video encoder element");
     goto create_error;
@@ -1217,16 +1186,13 @@ _rtsp_media_factory_wfd_create_xvcapture_bin (GstRTSPMediaFactoryWFD * factory,
 
   priv->video_queue = vqueue;
   priv->venc = venc;
-  if (vcodec)
-    g_free (vcodec);
 
   return TRUE;
 
 create_error:
   gst_object_unref (videosrc);
   gst_object_unref (vqueue);
-  if (vcodec)
-    g_free (vcodec);
+
   return FALSE;
 }
 
@@ -1571,24 +1537,21 @@ _rtsp_media_factory_wfd_demux_pad_added_cb (GstElement *element,
   GstRTSPMediaWFDDirectPipelineData *pipe_data = NULL;
 
   GstCaps *caps = gst_pad_get_current_caps (pad);
-  gchar *pad_name = gst_pad_get_name (pad);
-  gchar *pad_caps = gst_caps_to_string (caps);
-  gchar *temp_caps = NULL;
+  g_autofree gchar *pad_name = gst_pad_get_name (pad);
+  g_autofree gchar *caps_string = gst_caps_to_string (caps);
+  g_autofree gchar *temp_caps = NULL;
 
   gst_caps_unref (caps);
 
   factory = (GstRTSPMediaFactoryWFD *) data;
   priv = factory->priv;
   pipe_data = priv->direct_pipe;
-  temp_caps = g_ascii_strdown(pad_caps, -1);
+  temp_caps = g_ascii_strdown(caps_string, -1);
 
   if (g_strrstr (temp_caps, "audio")) {
     sinkpad = gst_element_get_static_pad (pipe_data->ap, "sink");
     if (gst_pad_is_linked (sinkpad)) {
       gst_object_unref (sinkpad);
-      g_free (pad_caps);
-      g_free (pad_name);
-      g_free (temp_caps);
       GST_DEBUG_OBJECT (factory, "pad linked");
       return;
     }
@@ -1609,10 +1572,6 @@ _rtsp_media_factory_wfd_demux_pad_added_cb (GstElement *element,
       sinkpad = NULL;
     }
   }
-
-  g_free (pad_caps);
-  g_free (pad_name);
-  g_free (temp_caps);
 }
 
 static GstPadProbeReturn
@@ -1732,13 +1691,13 @@ _rtsp_media_factory_wfd_create_direct_pipeline(GstRTSPMediaFactoryWFD * factory)
 {
   GstElement *src = NULL;
   GstElement *demux = NULL;
-  gchar *path = NULL;
+  g_autofree gchar *path = NULL;
+  g_autofree gchar *elem_name = NULL;
   GstPad *srcpad = NULL;
   GstPad *mux_vsinkpad = NULL;
   GstPad *mux_asinkpad = NULL;
   GstRTSPMediaFactoryWFDPrivate *priv = NULL;
   GstRTSPMediaWFDDirectPipelineData *pipe_data = NULL;
-  gchar *elem_name = NULL;
 
   priv = factory->priv;
   pipe_data = priv->direct_pipe;
@@ -1769,16 +1728,12 @@ _rtsp_media_factory_wfd_create_direct_pipeline(GstRTSPMediaFactoryWFD * factory)
 
     if (path == NULL) {
       GST_ERROR_OBJECT(factory, "No file path");
-      g_free (elem_name);
       return FALSE;
     }
     g_object_set (src, "location", path, NULL);
-    g_free (path);
   } else
     g_object_set (src, "uri", pipe_data->uri, NULL);
 
-  g_free (elem_name);
-
   gst_bin_add_many (pipe_data->pipeline, src, demux, pipe_data->ap,
       pipe_data->vp, pipe_data->aq, pipe_data->vq,
       pipe_data->tsmux, pipe_data->mux_fs, NULL);
@@ -1868,7 +1823,7 @@ static void
 _rtsp_media_factory_wfd_decodebin_element_added_cb (GstElement *decodebin,
         GstElement *child, void *user_data)
 {
-  gchar *elem_name = g_ascii_strdown(g_type_name(G_OBJECT_TYPE(child)), -1);
+  g_autofree gchar *elem_name = g_ascii_strdown(g_type_name(G_OBJECT_TYPE(child)), -1);
   GstRTSPMediaFactoryWFD *factory = NULL;
   GstRTSPMediaFactoryWFDPrivate *priv = NULL;
 
@@ -1883,28 +1838,25 @@ _rtsp_media_factory_wfd_decodebin_element_added_cb (GstElement *decodebin,
     priv->res.ac3_found++;
   if (g_strrstr (elem_name, "demux"))
     priv->res.demux_fact = gst_element_get_factory(child);
-
-  g_free (elem_name);
 }
 
 static void
 _rtsp_media_factory_wfd_uridecodebin_element_added_cb (GstElement *uridecodebin,
         GstElement *child, void *user_data)
 {
+  g_autofree gchar *elem_name = g_ascii_strdown(g_type_name(G_OBJECT_TYPE(child)), -1);
   GstRTSPMediaFactoryWFD *factory = NULL;
   GstRTSPMediaFactoryWFDPrivate *priv = NULL;
 
   factory = (GstRTSPMediaFactoryWFD *) user_data;
   priv = factory->priv;
-  gchar *elem_name = g_ascii_strdown(g_type_name(G_OBJECT_TYPE(child)), -1);
+
   if (g_strrstr (elem_name, "src"))
     priv->res.src_fact = gst_element_get_factory(child);
 
   if (G_OBJECT_TYPE(child) == priv->decodebin_type)
     g_signal_connect_object (child, "element-added",
         G_CALLBACK (_rtsp_media_factory_wfd_decodebin_element_added_cb), factory, 0);
-
-  g_free (elem_name);
 }
 
 static void
@@ -1983,11 +1935,9 @@ _rtsp_media_factory_wfd_discover_pipe_bus_call (GstBus *bus,
 
   switch (GST_MESSAGE_TYPE (msg)) {
     case GST_MESSAGE_ERROR: {
-      gchar  *debug;
-      GError *error;
+      GError *error = NULL;
 
-      gst_message_parse_error (msg, &error, &debug);
-      g_free (debug);
+      gst_message_parse_error (msg, &error, NULL);
 
       GST_ERROR_OBJECT (factory, "Error: %s", error->message);
       g_error_free (error);
index 57c486f..d1b9d12 100644 (file)
@@ -1,7 +1,7 @@
 Name:       gst-rtsp-server
 Summary:    Multimedia Framework Library
 Version:    1.16.2
-Release:    8
+Release:    9
 Url:        http://gstreamer.freedesktop.org/
 Group:      System/Libraries
 License:    LGPL-2.0+