Title: [228868] trunk/Source/WebCore
- Revision
- 228868
- Author
- [email protected]
- Date
- 2018-02-21 03:42:05 -0800 (Wed, 21 Feb 2018)
Log Message
[GTK] Layout test media/track/track-in-band-duplicate-tracks-when-source-changes.html failing since r228617
https://bugs.webkit.org/show_bug.cgi?id=160131
<rdar://problem/35873985>
Reviewed by Michael Catanzaro.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfText): We
can't assume the pad has a sticky event here like implemented in
InbandTextTrackPrivateGStreamer because it might be emitted after
the track was created. So fallback to a dummy stream ID like in
the Audio and Video tracks.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (228867 => 228868)
--- trunk/Source/WebCore/ChangeLog 2018-02-21 10:47:14 UTC (rev 228867)
+++ trunk/Source/WebCore/ChangeLog 2018-02-21 11:42:05 UTC (rev 228868)
@@ -1,3 +1,18 @@
+2018-02-20 Philippe Normand <[email protected]>
+
+ [GTK] Layout test media/track/track-in-band-duplicate-tracks-when-source-changes.html failing since r228617
+ https://bugs.webkit.org/show_bug.cgi?id=160131
+ <rdar://problem/35873985>
+
+ Reviewed by Michael Catanzaro.
+
+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+ (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfText): We
+ can't assume the pad has a sticky event here like implemented in
+ InbandTextTrackPrivateGStreamer because it might be emitted after
+ the track was created. So fallback to a dummy stream ID like in
+ the Audio and Video tracks.
+
2018-02-20 Sergio Villar Senin <[email protected]>
[WebVR][OpenVR] Retrieve stage parameters
Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp (228867 => 228868)
--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp 2018-02-21 10:47:14 UTC (rev 228867)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp 2018-02-21 11:42:05 UTC (rev 228868)
@@ -924,6 +924,8 @@
GstElement* element = useMediaSource ? m_source.get() : m_pipeline.get();
g_object_get(element, "n-text", &numTracks, nullptr);
+ GST_INFO("Media has %d text tracks", numTracks);
+
if (useMediaSource) {
GST_DEBUG("Tracks managed by source element. Bailing out now.");
return;
@@ -935,13 +937,12 @@
g_signal_emit_by_name(m_pipeline.get(), "get-text-pad", i, &pad.outPtr(), nullptr);
ASSERT(pad);
- GRefPtr<GstEvent> event = adoptGRef(gst_pad_get_sticky_event(pad.get(), GST_EVENT_STREAM_START, 0));
- if (!event)
- continue;
+ // We can't assume the pad has a sticky event here like implemented in
+ // InbandTextTrackPrivateGStreamer because it might be emitted after the
+ // track was created. So fallback to a dummy stream ID like in the Audio
+ // and Video tracks.
+ String streamId = "T" + String::number(i);
- const char* streamId;
- gst_event_parse_stream_start(event.get(), &streamId);
-
validTextStreams.append(streamId);
if (i < static_cast<gint>(m_textTracks.size())) {
RefPtr<InbandTextTrackPrivateGStreamer> existingTrack = m_textTracks.get(streamId);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes