dash: Free various props before set & during cleanup
In addition several members were being freed via xmlFree() even though being created via g_value_dup_string(). Switch to g_free(). Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648>
This commit is contained in:
parent
2f11f7e434
commit
6279c4bab7
@ -77,8 +77,7 @@ gst_mpd_adaptation_set_node_finalize (GObject * object)
|
||||
|
||||
if (self->lang)
|
||||
xmlFree (self->lang);
|
||||
if (self->contentType)
|
||||
xmlFree (self->contentType);
|
||||
g_free (self->contentType);
|
||||
g_slice_free (GstXMLRatio, self->par);
|
||||
g_slice_free (GstXMLConditionalUintType, self->segmentAlignment);
|
||||
g_slice_free (GstXMLConditionalUintType, self->subsegmentAlignment);
|
||||
|
@ -88,8 +88,7 @@ gst_mpd_period_node_finalize (GObject * object)
|
||||
{
|
||||
GstMPDPeriodNode *self = GST_MPD_PERIOD_NODE (object);
|
||||
|
||||
if (self->id)
|
||||
xmlFree (self->id);
|
||||
g_free (self->id);
|
||||
gst_mpd_segment_base_node_free (self->SegmentBase);
|
||||
gst_mpd_segment_list_node_free (self->SegmentList);
|
||||
gst_mpd_segment_template_node_free (self->SegmentTemplate);
|
||||
|
@ -190,22 +190,16 @@ gst_mpd_representation_base_node_finalize (GObject * object)
|
||||
GstMPDRepresentationBaseNode *self =
|
||||
GST_MPD_REPRESENTATION_BASE_NODE (object);
|
||||
|
||||
if (self->profiles)
|
||||
xmlFree (self->profiles);
|
||||
g_free (self->profiles);
|
||||
g_slice_free (GstXMLRatio, self->sar);
|
||||
g_slice_free (GstXMLFrameRate, self->frameRate);
|
||||
g_slice_free (GstXMLFrameRate, self->minFrameRate);
|
||||
g_slice_free (GstXMLFrameRate, self->maxFrameRate);
|
||||
if (self->audioSamplingRate)
|
||||
xmlFree (self->audioSamplingRate);
|
||||
if (self->mimeType)
|
||||
xmlFree (self->mimeType);
|
||||
if (self->segmentProfiles)
|
||||
xmlFree (self->segmentProfiles);
|
||||
if (self->codecs)
|
||||
xmlFree (self->codecs);
|
||||
if (self->scanType)
|
||||
xmlFree (self->scanType);
|
||||
g_free (self->audioSamplingRate);
|
||||
g_free (self->mimeType);
|
||||
g_free (self->segmentProfiles);
|
||||
g_free (self->codecs);
|
||||
g_free (self->scanType);
|
||||
g_list_free_full (self->FramePacking,
|
||||
(GDestroyNotify) gst_mpd_descriptor_type_node_free);
|
||||
g_list_free_full (self->AudioChannelConfiguration,
|
||||
|
@ -82,8 +82,7 @@ gst_mpd_representation_node_finalize (GObject * object)
|
||||
{
|
||||
GstMPDRepresentationNode *self = GST_MPD_REPRESENTATION_NODE (object);
|
||||
|
||||
if (self->id)
|
||||
xmlFree (self->id);
|
||||
g_free (self->id);
|
||||
g_strfreev (self->dependencyId);
|
||||
g_strfreev (self->mediaStreamStructureId);
|
||||
g_list_free_full (self->SubRepresentations,
|
||||
|
@ -42,15 +42,19 @@ gst_mpd_segment_template_node_set_property (GObject * object, guint prop_id,
|
||||
GstMPDSegmentTemplateNode *self = GST_MPD_SEGMENT_TEMPLATE_NODE (object);
|
||||
switch (prop_id) {
|
||||
case PROP_MPD_SEGMENT_TEMPLATE_MEDIA:
|
||||
g_free (self->media);
|
||||
self->media = g_value_dup_string (value);
|
||||
break;
|
||||
case PROP_MPD_SEGMENT_TEMPLATE_INDEX:
|
||||
g_free (self->index);
|
||||
self->index = g_value_dup_string (value);
|
||||
break;
|
||||
case PROP_MPD_SEGMENT_TEMPLATE_INITIALIZATION:
|
||||
g_free (self->initialization);
|
||||
self->initialization = g_value_dup_string (value);
|
||||
break;
|
||||
case PROP_MPD_SEGMENT_TEMPLATE_BITSTREAM_SWITCHING:
|
||||
g_free (self->bitstreamSwitching);
|
||||
self->bitstreamSwitching = g_value_dup_string (value);
|
||||
break;
|
||||
default:
|
||||
@ -88,14 +92,10 @@ gst_mpd_segment_template_node_finalize (GObject * object)
|
||||
{
|
||||
GstMPDSegmentTemplateNode *self = GST_MPD_SEGMENT_TEMPLATE_NODE (object);
|
||||
|
||||
if (self->media)
|
||||
xmlFree (self->media);
|
||||
if (self->index)
|
||||
xmlFree (self->index);
|
||||
if (self->initialization)
|
||||
xmlFree (self->initialization);
|
||||
if (self->bitstreamSwitching)
|
||||
xmlFree (self->bitstreamSwitching);
|
||||
g_free (self->media);
|
||||
g_free (self->index);
|
||||
g_free (self->initialization);
|
||||
g_free (self->bitstreamSwitching);
|
||||
|
||||
G_OBJECT_CLASS (gst_mpd_segment_template_node_parent_class)->finalize
|
||||
(object);
|
||||
|
@ -69,8 +69,7 @@ gst_mpd_segment_url_node_finalize (GObject * object)
|
||||
{
|
||||
GstMPDSegmentURLNode *self = GST_MPD_SEGMENT_URL_NODE (object);
|
||||
|
||||
if (self->media)
|
||||
xmlFree (self->media);
|
||||
g_free (self->media);
|
||||
g_slice_free (GstXMLRange, self->mediaRange);
|
||||
if (self->index)
|
||||
xmlFree (self->index);
|
||||
|
@ -77,8 +77,7 @@ gst_mpd_adaptation_set_node_finalize (GObject * object)
|
||||
|
||||
if (self->lang)
|
||||
xmlFree (self->lang);
|
||||
if (self->contentType)
|
||||
xmlFree (self->contentType);
|
||||
g_free (self->contentType);
|
||||
g_free (self->par);
|
||||
g_free (self->segmentAlignment);
|
||||
g_free (self->subsegmentAlignment);
|
||||
|
@ -88,8 +88,7 @@ gst_mpd_period_node_finalize (GObject * object)
|
||||
{
|
||||
GstMPDPeriodNode *self = GST_MPD_PERIOD_NODE (object);
|
||||
|
||||
if (self->id)
|
||||
xmlFree (self->id);
|
||||
g_free (self->id);
|
||||
gst_mpd_segment_base_node_free (self->SegmentBase);
|
||||
gst_mpd_segment_list_node_free (self->SegmentList);
|
||||
gst_mpd_segment_template_node_free (self->SegmentTemplate);
|
||||
|
@ -190,22 +190,16 @@ gst_mpd_representation_base_node_finalize (GObject * object)
|
||||
GstMPDRepresentationBaseNode *self =
|
||||
GST_MPD_REPRESENTATION_BASE_NODE (object);
|
||||
|
||||
if (self->profiles)
|
||||
xmlFree (self->profiles);
|
||||
g_free (self->profiles);
|
||||
g_free (self->sar);
|
||||
g_free (self->frameRate);
|
||||
g_free (self->minFrameRate);
|
||||
g_free (self->maxFrameRate);
|
||||
if (self->audioSamplingRate)
|
||||
xmlFree (self->audioSamplingRate);
|
||||
if (self->mimeType)
|
||||
xmlFree (self->mimeType);
|
||||
if (self->segmentProfiles)
|
||||
xmlFree (self->segmentProfiles);
|
||||
if (self->codecs)
|
||||
xmlFree (self->codecs);
|
||||
if (self->scanType)
|
||||
xmlFree (self->scanType);
|
||||
g_free (self->audioSamplingRate);
|
||||
g_free (self->mimeType);
|
||||
g_free (self->segmentProfiles);
|
||||
g_free (self->codecs);
|
||||
g_free (self->scanType);
|
||||
g_list_free_full (self->FramePacking,
|
||||
(GDestroyNotify) gst_mpd_descriptor_type_node_free);
|
||||
g_list_free_full (self->AudioChannelConfiguration,
|
||||
|
@ -82,8 +82,7 @@ gst_mpd_representation_node_finalize (GObject * object)
|
||||
{
|
||||
GstMPDRepresentationNode *self = GST_MPD_REPRESENTATION_NODE (object);
|
||||
|
||||
if (self->id)
|
||||
xmlFree (self->id);
|
||||
g_free (self->id);
|
||||
g_strfreev (self->dependencyId);
|
||||
g_strfreev (self->mediaStreamStructureId);
|
||||
g_list_free_full (self->SubRepresentations,
|
||||
|
@ -42,15 +42,19 @@ gst_mpd_segment_template_node_set_property (GObject * object, guint prop_id,
|
||||
GstMPDSegmentTemplateNode *self = GST_MPD_SEGMENT_TEMPLATE_NODE (object);
|
||||
switch (prop_id) {
|
||||
case PROP_MPD_SEGMENT_TEMPLATE_MEDIA:
|
||||
g_free (self->media);
|
||||
self->media = g_value_dup_string (value);
|
||||
break;
|
||||
case PROP_MPD_SEGMENT_TEMPLATE_INDEX:
|
||||
g_free (self->index);
|
||||
self->index = g_value_dup_string (value);
|
||||
break;
|
||||
case PROP_MPD_SEGMENT_TEMPLATE_INITIALIZATION:
|
||||
g_free (self->initialization);
|
||||
self->initialization = g_value_dup_string (value);
|
||||
break;
|
||||
case PROP_MPD_SEGMENT_TEMPLATE_BITSTREAM_SWITCHING:
|
||||
g_free (self->bitstreamSwitching);
|
||||
self->bitstreamSwitching = g_value_dup_string (value);
|
||||
break;
|
||||
default:
|
||||
@ -88,14 +92,10 @@ gst_mpd_segment_template_node_finalize (GObject * object)
|
||||
{
|
||||
GstMPDSegmentTemplateNode *self = GST_MPD_SEGMENT_TEMPLATE_NODE (object);
|
||||
|
||||
if (self->media)
|
||||
xmlFree (self->media);
|
||||
if (self->index)
|
||||
xmlFree (self->index);
|
||||
if (self->initialization)
|
||||
xmlFree (self->initialization);
|
||||
if (self->bitstreamSwitching)
|
||||
xmlFree (self->bitstreamSwitching);
|
||||
g_free (self->media);
|
||||
g_free (self->index);
|
||||
g_free (self->initialization);
|
||||
g_free (self->bitstreamSwitching);
|
||||
|
||||
G_OBJECT_CLASS (gst_mpd_segment_template_node_parent_class)->finalize
|
||||
(object);
|
||||
|
@ -69,8 +69,7 @@ gst_mpd_segment_url_node_finalize (GObject * object)
|
||||
{
|
||||
GstMPDSegmentURLNode *self = GST_MPD_SEGMENT_URL_NODE (object);
|
||||
|
||||
if (self->media)
|
||||
xmlFree (self->media);
|
||||
g_free (self->media);
|
||||
g_free (self->mediaRange);
|
||||
if (self->index)
|
||||
xmlFree (self->index);
|
||||
@ -156,7 +155,7 @@ gst_mpd_segment_url_node_clone (GstMPDSegmentURLNode * seg_url)
|
||||
|
||||
if (seg_url) {
|
||||
clone = gst_mpd_segment_url_node_new ();
|
||||
clone->media = xmlMemStrdup (seg_url->media);
|
||||
clone->media = g_strdup (seg_url->media);
|
||||
clone->mediaRange = gst_xml_helper_clone_range (seg_url->mediaRange);
|
||||
clone->index = xmlMemStrdup (seg_url->index);
|
||||
clone->indexRange = gst_xml_helper_clone_range (seg_url->indexRange);
|
||||
|
Loading…
x
Reference in New Issue
Block a user