Skip to content

Commit 4607052

Browse files
committed
fixed #2576
1 parent 4bac19a commit 4607052

File tree

4 files changed

+12
-6
lines changed

4 files changed

+12
-6
lines changed

Diff for: src/filters/dasher.c

+5
Original file line numberDiff line numberDiff line change
@@ -1173,6 +1173,11 @@ static GF_Err dasher_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool is
11731173
CHECK_PROP(GF_PROP_PID_CODECID, ds->codec_id, GF_NOT_SUPPORTED)
11741174
CHECK_PROP(GF_PROP_PID_TIMESCALE, ds->timescale, GF_NOT_SUPPORTED)
11751175

1176+
if (!ds->timescale) {
1177+
GF_LOG(GF_LOG_ERROR, GF_LOG_CONTAINER, ("[Dasher] Input PID %s has no timescale, cannot dash\n", gf_filter_pid_get_name(pid) ));
1178+
return GF_NON_COMPLIANT_BITSTREAM;
1179+
}
1180+
11761181
if (ds->stream_type==GF_STREAM_VISUAL) {
11771182
CHECK_PROP(GF_PROP_PID_WIDTH, ds->width, GF_EOS)
11781183
CHECK_PROP(GF_PROP_PID_HEIGHT, ds->height, GF_EOS)

Diff for: src/filters/dmx_avi.c

+1
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ static void avidmx_setup(GF_Filter *filter, GF_AVIDmxCtx *ctx)
8181
if (ctx->use_file_fps) {
8282
Double fps = AVI_frame_rate(ctx->avi);
8383
gf_media_get_video_timing(fps, &ctx->fps.num, &ctx->fps.den);
84+
if (!ctx->fps.num) ctx->fps.num = ctx->fps.den = 1000;
8485
}
8586

8687
dur.den = ctx->fps.num;

Diff for: src/filters/reframe_mhas.c

+4-3
Original file line numberDiff line numberDiff line change
@@ -638,10 +638,11 @@ GF_Err mhas_dmx_process(GF_Filter *filter)
638638
numSpeakers = (s32) gf_mpegh_escaped_value(ctx->bs, 5, 8, 16) + 1;
639639
//TODO ...
640640
}
641+
if (sr) {
642+
mhas_dmx_check_pid(filter, ctx, pl, sr, frame_len, CICPspeakerLayoutIdx, numSpeakers, start + pay_start, (u32) mhas_size);
641643

642-
mhas_dmx_check_pid(filter, ctx, pl, sr, frame_len, CICPspeakerLayoutIdx, numSpeakers, start + pay_start, (u32) mhas_size);
643-
644-
has_cfg = GF_TRUE;
644+
has_cfg = GF_TRUE;
645+
}
645646
}
646647
//audio truncation
647648
else if (mhas_type==17) {

Diff for: src/scene_manager/swf_parse.c

+2-3
Original file line numberDiff line numberDiff line change
@@ -1438,7 +1438,7 @@ static GF_Err swf_def_font(SWFReader *read, u32 revision)
14381438
ft->glyphs = gf_list_new();
14391439
ft->fontID = swf_get_16(read);
14401440
e = GF_OK;
1441-
1441+
gf_list_add(read->fonts, ft);
14421442

14431443
if (revision==0) {
14441444
start = swf_get_file_pos(read);
@@ -1538,8 +1538,6 @@ static GF_Err swf_def_font(SWFReader *read, u32 revision)
15381538
}
15391539
}
15401540
}
1541-
1542-
gf_list_add(read->fonts, ft);
15431541
return GF_OK;
15441542
}
15451543

@@ -2642,6 +2640,7 @@ GF_Err gf_swf_read_header(SWFReader *read)
26422640
read->frame_rate = swf_get_16(read)>>8;
26432641
read->frame_count = swf_get_16(read);
26442642
GF_LOG(GF_LOG_INFO, GF_LOG_PARSER, ("SWF Import - Scene Size %gx%g - %d frames @ %d FPS\n", read->width, read->height, read->frame_count, read->frame_rate));
2643+
if (!read->frame_rate) read->frame_rate = 1;
26452644
return GF_OK;
26462645
}
26472646

0 commit comments

Comments
 (0)