guint channels = 0;
gboolean is_enc_req = TRUE;
guint freq = 0;
- gchar *acodec = NULL;
+ g_autofree gchar *acodec = NULL;
priv = factory->priv;
}
priv->audio_srcbin = (GstBin *)gst_bin_new ("audio");
-
+
/* create audio src element */
audiosrc = gst_element_factory_make ("pulsesrc", "audiosrc");
if (!audiosrc) {
}
priv->audio_queue = aqueue;
- if (acodec)
- g_free (acodec);
if (audio_properties_name)
gst_structure_free (audio_properties_name);
return TRUE;
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;
GstElement *vcaps = NULL;
GstElement *videoconvert = NULL;
GstElement *venc_caps = NULL;
- gchar *vcodec = NULL;
GstElement *venc = NULL;
GstElement *vparse = NULL;
GstElement *vqueue = NULL;
"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;
{
GstElement *videosrc = NULL;
GstElement *vcaps = NULL;
- gchar *vcodec = NULL;
GstElement *venc = NULL;
GstElement *vparse = NULL;
GstElement *vqueue = NULL;
"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;
GstElement *venc = NULL;
GstElement *vparse = NULL;
GstElement *vqueue = NULL;
- gchar *vcodec = NULL;
GstRTSPMediaFactoryWFDPrivate *priv = NULL;
priv = factory->priv;
"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;
GstElement *vcaps = NULL;
GstElement *venc_caps = NULL;
GstElement *videoconvert = NULL, *videoscale = NULL;
- gchar *vcodec = NULL;
GstElement *venc = NULL;
GstElement *vparse = NULL;
GstElement *vqueue = NULL;
"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;
{
GstElement *videosrc = NULL;
GstElement *vcaps = NULL;
- gchar *vcodec = NULL;
GstElement *venc = NULL;
GstElement *vparse = NULL;
GstElement *vqueue = NULL;
"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;
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;
}
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;
}
sinkpad = NULL;
}
}
-
- g_free (pad_caps);
- g_free (pad_name);
- g_free (temp_caps);
}
static GstPadProbeReturn
{
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;
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);
_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;
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
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);