Changeset 223172 in webkit


Ignore:
Timestamp:
Oct 11, 2017 2:33:46 AM (6 years ago)
Author:
commit-queue@webkit.org
Message:

[MSE][GStreamer] Add dump of append pipeline
https://bugs.webkit.org/show_bug.cgi?id=178074

Patch by Alicia Boya García <aboya@igalia.com> on 2017-10-11
Reviewed by Xabier Rodriguez-Calvar.

Enable dump of AppendPipeline.

  • platform/graphics/gstreamer/mse/AppendPipeline.cpp:

(WebCore::appendPipelineStateChangeMessageCallback):
(WebCore::AppendPipeline::AppendPipeline):
(WebCore::AppendPipeline::handleStateChangeMessage):

  • platform/graphics/gstreamer/mse/AppendPipeline.h:
Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r223169 r223172  
     12017-10-11  Alicia Boya García  <aboya@igalia.com>
     2
     3        [MSE][GStreamer] Add dump of append pipeline
     4        https://bugs.webkit.org/show_bug.cgi?id=178074
     5
     6        Reviewed by Xabier Rodriguez-Calvar.
     7
     8        Enable dump of AppendPipeline.
     9
     10        * platform/graphics/gstreamer/mse/AppendPipeline.cpp:
     11        (WebCore::appendPipelineStateChangeMessageCallback):
     12        (WebCore::AppendPipeline::AppendPipeline):
     13        (WebCore::AppendPipeline::handleStateChangeMessage):
     14        * platform/graphics/gstreamer/mse/AppendPipeline.h:
     15
    1162017-09-27  Frederic Wang  <fwang@igalia.com>
    217
  • trunk/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp

    r222649 r223172  
    101101#endif
    102102
     103static void appendPipelineStateChangeMessageCallback(GstBus*, GstMessage* message, AppendPipeline* appendPipeline)
     104{
     105    appendPipeline->handleStateChangeMessage(message);
     106}
     107
    103108AppendPipeline::AppendPipeline(Ref<MediaSourceClientGStreamerMSE> mediaSourceClient, Ref<SourceBufferPrivateGStreamer> sourceBufferPrivate, MediaPlayerPrivateGStreamerMSE& playerPrivate)
    104109    : m_mediaSourceClient(mediaSourceClient.get())
     
    130135    g_signal_connect(m_bus.get(), "message::element", G_CALLBACK(appendPipelineElementMessageCallback), this);
    131136#endif
     137    g_signal_connect(m_bus.get(), "message::state-changed", G_CALLBACK(appendPipelineStateChangeMessageCallback), this);
    132138
    133139    // We assign the created instances here instead of adoptRef() because gst_bin_add_many()
     
    342348}
    343349#endif
     350
     351void AppendPipeline::handleStateChangeMessage(GstMessage* message)
     352{
     353    ASSERT(WTF::isMainThread());
     354
     355    if (GST_MESSAGE_SRC(message) == reinterpret_cast<GstObject*>(m_pipeline.get())) {
     356        GstState currentState, newState;
     357        gst_message_parse_state_changed(message, &currentState, &newState, nullptr);
     358        CString sourceBufferType = String(m_sourceBufferPrivate->type().raw())
     359            .replace("/", "_").replace(" ", "_")
     360            .replace("\"", "").replace("\'", "").utf8();
     361        CString dotFileName = String::format("webkit-append-%s-%s_%s",
     362            sourceBufferType.data(),
     363            gst_element_state_get_name(currentState),
     364            gst_element_state_get_name(newState)).utf8();
     365        GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS(GST_BIN(m_pipeline.get()), GST_DEBUG_GRAPH_SHOW_ALL, dotFileName.data());
     366    }
     367}
    344368
    345369void AppendPipeline::handleAppsrcNeedDataReceived()
  • trunk/Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.h

    r222388 r223172  
    5151    void handleNeedContextSyncMessage(GstMessage*);
    5252    void handleApplicationMessage(GstMessage*);
     53    void handleStateChangeMessage(GstMessage*);
    5354#if ENABLE(ENCRYPTED_MEDIA)
    5455    void handleElementMessage(GstMessage*);
Note: See TracChangeset for help on using the changeset viewer.