		sprintf(szDS, " / MPD %.2fs %d %%", max_ts, total_pc/100);
		gf_dynstrcat(&szStatus, szDS, NULL);
	}
	gf_filter_update_status(filter, total_pc, szStatus);
	gf_free(szStatus);
}

static void dasher_drop_input(GF_DasherCtx *ctx, GF_DashStream *ds, Bool discard_all)
{
	if (ds->sbound) {
		while (gf_list_count(ds->packet_queue)) {
			GF_FilterPacket *pck = gf_list_pop_front(ds->packet_queue);
			if (gf_filter_pck_get_sap(pck)) {
				assert(ds->nb_sap_in_queue);
				ds->nb_sap_in_queue --;
			}
			gf_filter_pck_unref(pck);
			if (!discard_all) break;
		}
		sprintf(szDS, " / MPD %.2fs %d %%", max_ts, total_pc/100);
		gf_dynstrcat(&szStatus, szDS, NULL);
	}
	gf_filter_update_status(filter, total_pc, szStatus);
	gf_free(szStatus);
}

static void dasher_drop_input(GF_DasherCtx *ctx, GF_DashStream *ds, Bool discard_all)
{
	if (ds->sbound) {
		while (gf_list_count(ds->packet_queue)) {
			GF_FilterPacket *pck = gf_list_pop_front(ds->packet_queue);
			if (gf_filter_pck_get_sap(pck)) {
				assert(ds->nb_sap_in_queue);
				ds->nb_sap_in_queue --;
			}
			gf_filter_pck_unref(pck);
			if (!discard_all) break;
		}