Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
fixed #2055
  • Loading branch information
jeanlf committed Jan 19, 2022
1 parent 8913c86 commit 9f85108
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 13 deletions.
10 changes: 7 additions & 3 deletions src/filters/isoffin_read_ch.c
Expand Up @@ -480,10 +480,10 @@ void isor_reader_get_sample(ISOMChannel *ch)
ch->sample_num--;
} else {
if (ch->to_init && ch->sample_num) {
GF_LOG(GF_LOG_ERROR, GF_LOG_CONTAINER, ("[IsoMedia] Failed to fetch initial sample %d for track %d\n"));
GF_LOG(GF_LOG_ERROR, GF_LOG_CONTAINER, ("[IsoMedia] Failed to fetch initial sample %d for track %d\n", ch->sample_num, ch->track));
ch->last_state = GF_ISOM_INVALID_FILE;
}
if (ch->sample_num >= gf_isom_get_sample_count(ch->owner->mov, ch->track)) {
} else {
GF_LOG(GF_LOG_ERROR, GF_LOG_CONTAINER, ("[IsoMedia] File truncated, aborting read for track %d\n", ch->track));
ch->last_state = GF_EOS;
}
}
Expand All @@ -507,6 +507,10 @@ void isor_reader_get_sample(ISOMChannel *ch)
} else {
e = gf_isom_last_error(ch->owner->mov);
GF_LOG((e==GF_ISOM_INCOMPLETE_FILE) ? GF_LOG_DEBUG : GF_LOG_WARNING, GF_LOG_DASH, ("[IsoMedia] Track #%d fail to fetch sample %d / %d: %s\n", ch->track, ch->sample_num, gf_isom_get_sample_count(ch->owner->mov, ch->track), gf_error_to_string(e) ));

if ((e<GF_OK) && (e!=GF_ISOM_INCOMPLETE_FILE)) {
ch->last_state = GF_EOS;
}
}
return;
}
Expand Down
5 changes: 5 additions & 0 deletions src/media_tools/media_export.c
Expand Up @@ -1075,6 +1075,11 @@ GF_Err gf_media_export_saf(GF_MediaExporter *dumper)
GF_ISOSample *samp;
if (safs[i].last_sample==safs[i].nb_samp) continue;
samp = gf_isom_get_sample(dumper->file, safs[i].track_num, safs[i].last_sample + 1, &di);
if (!samp) {
gf_saf_mux_del(mux);
return gf_isom_last_error(dumper->file);
}

gf_saf_mux_add_au(mux, safs[i].stream_id, (u32) (samp->DTS+samp->CTS_Offset), samp->data, samp->dataLength, (samp->IsRAP==RAP) ? 1 : 0);
/*data is kept by muxer!!*/
gf_free(samp);
Expand Down
22 changes: 13 additions & 9 deletions src/scene_manager/scene_dump.c
Expand Up @@ -939,10 +939,12 @@ static void gf_dump_vrml_field(GF_SceneDumper *sdump, GF_Node *node, GF_FieldInf
}

if (!sdump->XMLDump) gf_fprintf(sdump->trace, "[");
for (i=0; i<mffield->count; i++) {
if (i) gf_fprintf(sdump->trace, " ");
gf_sg_vrml_mf_get_item(field.far_ptr, field.fieldType, &slot_ptr, i);
gf_dump_vrml_sffield(sdump, sf_type, slot_ptr, 1, node);
if (mffield) {
for (i=0; i<mffield->count; i++) {
if (i) gf_fprintf(sdump->trace, " ");
gf_sg_vrml_mf_get_item(field.far_ptr, field.fieldType, &slot_ptr, i);
gf_dump_vrml_sffield(sdump, sf_type, slot_ptr, 1, node);
}
}
if (!sdump->XMLDump) gf_fprintf(sdump->trace, "]");

Expand Down Expand Up @@ -1261,11 +1263,13 @@ static void gf_dump_vrml_proto_field(GF_SceneDumper *sdump, GF_Node *node, GF_Fi
} else {
gf_fprintf(sdump->trace, " %s=\"", GetXMTFieldTypeValueName(field.fieldType));
}
for (i=0; i<mffield->count; i++) {
if (i) gf_fprintf(sdump->trace, " ");
if (field.fieldType != GF_SG_VRML_MFNODE) {
gf_sg_vrml_mf_get_item(field.far_ptr, field.fieldType, &slot_ptr, i);
gf_dump_vrml_sffield(sdump, sf_type, slot_ptr, (mffield->count>1) ? 1 : 0, node);
if (mffield) {
for (i=0; i<mffield->count; i++) {
if (i) gf_fprintf(sdump->trace, " ");
if (field.fieldType != GF_SG_VRML_MFNODE) {
gf_sg_vrml_mf_get_item(field.far_ptr, field.fieldType, &slot_ptr, i);
gf_dump_vrml_sffield(sdump, sf_type, slot_ptr, (mffield->count>1) ? 1 : 0, node);
}
}
}
gf_fprintf(sdump->trace, "\"/>\n");
Expand Down
2 changes: 1 addition & 1 deletion testsuite

0 comments on commit 9f85108

Please sign in to comment.