Skip to content

Commit c535bad

Browse files
committed
fixed #2194
1 parent 8595ef8 commit c535bad

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

Diff for: src/bifs/memory_decoder.c

+8-2
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,12 @@ static GF_Err BM_ParseGlobalQuantizer(GF_BifsDecoder *codec, GF_BitStream *bs, G
178178
codec->scenegraph->global_qp = NULL;
179179

180180
if (gf_node_get_tag(node) != TAG_MPEG4_QuantizationParameter) {
181-
gf_node_unregister(node, NULL);
181+
//if node was just created (num_instances == 0), unregister
182+
//otherwise (USE node) don't do anything
183+
if (!node->sgprivate->num_instances) {
184+
node->sgprivate->num_instances = 1;
185+
gf_node_unregister(node, NULL);
186+
}
182187
return GF_NON_COMPLIANT_BITSTREAM;
183188
}
184189

@@ -188,7 +193,8 @@ static GF_Err BM_ParseGlobalQuantizer(GF_BifsDecoder *codec, GF_BitStream *bs, G
188193
codec->scenegraph->global_qp = node;
189194

190195
/*register TWICE: once for the command, and for the scenegraph globalQP*/
191-
node->sgprivate->num_instances = 2;
196+
gf_node_unregister(node, NULL);
197+
gf_node_unregister(node, NULL);
192198

193199
com = gf_sg_command_new(codec->current_graph, GF_SG_GLOBAL_QUANTIZER);
194200
inf = gf_sg_command_field_new(com);

0 commit comments

Comments
 (0)