mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 02:01:12 +00:00
Revert "dashdemux: Fix issue when manifest update sets slow start without passing necessary header & caps changes downstream"
This reverts commit c9fbf3459a
.
The representation ID comparision here was wrong and triggering always
if the ID did *not* change, causing needless redownloading of the
header. The sample stream provided in the bug does not exist anymore.
This commit is contained in:
parent
78022a6e0c
commit
e0e1db212f
2 changed files with 0 additions and 35 deletions
|
@ -721,7 +721,6 @@ gst_dash_demux_setup_all_streams (GstDashDemux * demux)
|
||||||
(stream), tags);
|
(stream), tags);
|
||||||
stream->index = i;
|
stream->index = i;
|
||||||
stream->pending_seek_ts = GST_CLOCK_TIME_NONE;
|
stream->pending_seek_ts = GST_CLOCK_TIME_NONE;
|
||||||
stream->last_representation_id = NULL;
|
|
||||||
if (active_stream->cur_adapt_set &&
|
if (active_stream->cur_adapt_set &&
|
||||||
active_stream->cur_adapt_set->RepresentationBase &&
|
active_stream->cur_adapt_set->RepresentationBase &&
|
||||||
active_stream->cur_adapt_set->RepresentationBase->ContentProtection) {
|
active_stream->cur_adapt_set->RepresentationBase->ContentProtection) {
|
||||||
|
@ -1164,38 +1163,6 @@ gst_dash_demux_stream_update_fragment_info (GstAdaptiveDemuxStream * stream)
|
||||||
|
|
||||||
if (gst_mpd_client_get_next_fragment_timestamp (dashdemux->client,
|
if (gst_mpd_client_get_next_fragment_timestamp (dashdemux->client,
|
||||||
dashstream->index, &ts)) {
|
dashstream->index, &ts)) {
|
||||||
if (gst_mpd_client_is_live (dashdemux->client)) {
|
|
||||||
if (!GST_ADAPTIVE_DEMUX_STREAM_NEED_HEADER (stream)) {
|
|
||||||
if (dashstream->active_stream
|
|
||||||
&& dashstream->active_stream->cur_representation) {
|
|
||||||
/* id specifies an identifier for this Representation. The
|
|
||||||
* identifier shall be unique within a Period unless the
|
|
||||||
* Representation is functionally identically to another
|
|
||||||
* Representation in the same Period. */
|
|
||||||
if (!g_strcmp0 (dashstream->active_stream->cur_representation->id,
|
|
||||||
dashstream->last_representation_id)) {
|
|
||||||
GstCaps *caps;
|
|
||||||
stream->need_header = TRUE;
|
|
||||||
|
|
||||||
GST_INFO_OBJECT (dashdemux, "Switching bitrate to %d",
|
|
||||||
dashstream->active_stream->cur_representation->bandwidth);
|
|
||||||
caps =
|
|
||||||
gst_dash_demux_get_input_caps (dashdemux,
|
|
||||||
dashstream->active_stream);
|
|
||||||
gst_adaptive_demux_stream_set_caps (stream, caps);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
g_free (dashstream->last_representation_id);
|
|
||||||
if (dashstream->active_stream
|
|
||||||
&& dashstream->active_stream->cur_representation) {
|
|
||||||
dashstream->last_representation_id =
|
|
||||||
g_strdup (dashstream->active_stream->cur_representation->id);
|
|
||||||
} else {
|
|
||||||
dashstream->last_representation_id = NULL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (GST_ADAPTIVE_DEMUX_STREAM_NEED_HEADER (stream)) {
|
if (GST_ADAPTIVE_DEMUX_STREAM_NEED_HEADER (stream)) {
|
||||||
gst_adaptive_demux_stream_fragment_clear (&stream->fragment);
|
gst_adaptive_demux_stream_fragment_clear (&stream->fragment);
|
||||||
gst_dash_demux_stream_update_headers_info (stream);
|
gst_dash_demux_stream_update_headers_info (stream);
|
||||||
|
@ -2943,7 +2910,6 @@ gst_dash_demux_stream_free (GstAdaptiveDemuxStream * stream)
|
||||||
gst_isoff_moof_box_free (dash_stream->moof);
|
gst_isoff_moof_box_free (dash_stream->moof);
|
||||||
if (dash_stream->moof_sync_samples)
|
if (dash_stream->moof_sync_samples)
|
||||||
g_array_free (dash_stream->moof_sync_samples, TRUE);
|
g_array_free (dash_stream->moof_sync_samples, TRUE);
|
||||||
g_free (dash_stream->last_representation_id);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static GstDashDemuxClockDrift *
|
static GstDashDemuxClockDrift *
|
||||||
|
|
|
@ -96,7 +96,6 @@ struct _GstDashDemuxStream
|
||||||
|
|
||||||
guint64 moof_average_size, first_sync_sample_average_size;
|
guint64 moof_average_size, first_sync_sample_average_size;
|
||||||
gboolean first_sync_sample_after_moof, first_sync_sample_always_after_moof;
|
gboolean first_sync_sample_after_moof, first_sync_sample_always_after_moof;
|
||||||
gchar *last_representation_id;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue