Video rendering is handled in the base class so the GL context set-up code should also be there. This is going to be needed anyway if we ever want to do WebRTC video rendering with glimagesink.
Created attachment 249733 [details] patch
Created attachment 249805 [details] patch
Comment on attachment 249805 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=249805&action=review > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:292 > - g_object_set(m_playBin.get(), "uri", cleanURL.utf8().data(), NULL); > + g_object_set(m_pipeline.get(), "uri", cleanURL.utf8().data(), NULL); nullptr. > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:535 > - GstStateChangeReturn getStateResult = gst_element_get_state(m_playBin.get(), &state, 0, 0); > + GstStateChangeReturn getStateResult = gst_element_get_state(m_pipeline.get(), &state, 0, 0); &state, 0, 0 -> &state, nullptr, 0 > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:612 > - g_object_set(m_playBin.get(), "mute", mute, NULL); > + g_object_set(m_pipeline.get(), "mute", mute, NULL); nullptr > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:644 > - gst_element_get_state(m_playBin.get(), &state, 0, 0); > + gst_element_get_state(m_pipeline.get(), &state, 0, 0); &state, 0, 0 -> &state, nullptr, 0 > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:667 > - if (m_playBin) > - g_object_get(m_playBin.get(), "n-video", &numTracks, NULL); > + if (m_pipeline) > + g_object_get(m_pipeline.get(), "n-video", &numTracks, NULL); nullptr > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:674 > - g_signal_emit_by_name(m_playBin.get(), "get-video-pad", i, &pad.outPtr(), NULL); > + g_signal_emit_by_name(m_pipeline.get(), "get-video-pad", i, &pad.outPtr(), NULL); nullptr > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:715 > - if (m_playBin) > - g_object_get(m_playBin.get(), "n-audio", &numTracks, NULL); > + if (m_pipeline) > + g_object_get(m_pipeline.get(), "n-audio", &numTracks, NULL); nullptr > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:722 > - g_signal_emit_by_name(m_playBin.get(), "get-audio-pad", i, &pad.outPtr(), NULL); > + g_signal_emit_by_name(m_pipeline.get(), "get-audio-pad", i, &pad.outPtr(), NULL); nullptr > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:758 > - if (m_playBin) > - g_object_get(m_playBin.get(), "n-text", &numTracks, NULL); > + if (m_pipeline) > + g_object_get(m_pipeline.get(), "n-text", &numTracks, NULL); nullptr > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:762 > - g_signal_emit_by_name(m_playBin.get(), "get-text-pad", i, &pad.outPtr(), NULL); > + g_signal_emit_by_name(m_pipeline.get(), "get-text-pad", i, &pad.outPtr(), NULL); nullptr > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:999 > - gst_element_get_state(m_playBin.get(), ¤tState, NULL, 250); > + gst_element_get_state(m_pipeline.get(), ¤tState, NULL, 250); nullptr. Doesn't 250 need to be multiplied by GST_NSECOND? > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:1322 > - g_object_get(m_playBin.get(), "source", &m_source.outPtr(), NULL); > + g_object_get(m_pipeline.get(), "source", &m_source.outPtr(), NULL); nullptr > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:1603 > - gst_element_get_state(m_playBin.get(), &state, 0, 0); > + gst_element_get_state(m_pipeline.get(), &state, 0, 0); &state, 0, 0 -> &state, nullptr, 0 > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:1606 > - g_object_set(m_playBin.get(), "uri", newUrl.string().utf8().data(), NULL); > + g_object_set(m_pipeline.get(), "uri", newUrl.string().utf8().data(), NULL); nullptr > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:1660 > - if (gst_element_get_state(m_playBin.get(), &state, 0, 0) == GST_STATE_CHANGE_SUCCESS && state > GST_STATE_READY) > + if (gst_element_get_state(m_pipeline.get(), &state, 0, 0) == GST_STATE_CHANGE_SUCCESS && state > GST_STATE_READY) &state, 0, 0 -> &state, nullptr, 0 > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:1827 > - g_object_get(m_playBin.get(), "flags", &flags, NULL); > + g_object_get(m_pipeline.get(), "flags", &flags, NULL); nullptr > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:1838 > - g_object_set(m_playBin.get(), "flags", flags | flagDownload, NULL); > + g_object_set(m_pipeline.get(), "flags", flags | flagDownload, NULL); nullptr > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:1842 > - g_object_set(m_playBin.get(), "flags", flags & ~flagDownload, NULL); > + g_object_set(m_pipeline.get(), "flags", flags & ~flagDownload, NULL); nullptr > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:1938 > - g_object_set(m_playBin.get(), "mute", m_player->muted(), NULL); > + g_object_set(m_pipeline.get(), "mute", m_player->muted(), NULL); nullptr > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:1949 > - g_object_set(m_playBin.get(), "text-stream-combiner", textCombiner, NULL); > + g_object_set(m_pipeline.get(), "text-stream-combiner", textCombiner, NULL); nullptr > Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:1960 > - g_object_set(m_playBin.get(), "text-sink", m_textAppSink.get(), NULL); > + g_object_set(m_pipeline.get(), "text-sink", m_textAppSink.get(), NULL); nullptr
Comment on attachment 249805 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=249805&action=review >> Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:999 >> + gst_element_get_state(m_pipeline.get(), ¤tState, NULL, 250); > > nullptr. Doesn't 250 need to be multiplied by GST_NSECOND? Indeed :)
Committed r182229: <http://trac.webkit.org/changeset/182229>