Skip to content

Commit

Permalink
[media] Fix mp3 audio playback and add debug graph generation. Fixes …
Browse files Browse the repository at this point in the history
…JB#49532
  • Loading branch information
abranson committed Apr 7, 2020
1 parent 8b3c872 commit d0d2102
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 22 deletions.
31 changes: 31 additions & 0 deletions rpm/0022-Enable-gstreamer-pipeline-debug-graph-generati.patch
@@ -0,0 +1,31 @@
From 0679595a70ff9f5f96c6f68f990b32fd17a905ff Tue, 7 Apr 2020 15:08:48 +0200
From: Andrew Branson <andrew.branson@jolla.com>
Date: Tue, 7 Apr 2020 00:02:45 +0200
Subject: [PATCH] [debug] Enable gstreamer pipeline debug graph generation. JB#49532

diff --git a/dom/media/gstreamer/GStreamerFunctionList.h b/dom/media/gstreamer/GStreamerFunctionList.h
index 75f352e..80d7819 100644
--- a/dom/media/gstreamer/GStreamerFunctionList.h
+++ b/dom/media/gstreamer/GStreamerFunctionList.h
@@ -35,6 +35,7 @@
GST_FUNC(LIBGSTREAMER, gst_caps_new_full)
GST_FUNC(LIBGSTREAMER, gst_caps_new_simple)
GST_FUNC(LIBGSTREAMER, gst_caps_set_simple)
+GST_FUNC(LIBGSTREAMER, gst_debug_bin_to_dot_file_with_ts)
GST_FUNC(LIBGSTREAMER, gst_element_factory_get_static_pad_templates)
GST_FUNC(LIBGSTREAMER, gst_element_factory_get_type)
GST_FUNC(LIBGSTREAMER, gst_element_factory_make)
diff --git a/dom/media/gstreamer/GStreamerReader.cpp b/dom/media/gstreamer/GStreamerReader.cpp
index 202f5a4..4183389 100644
--- a/dom/media/gstreamer/GStreamerReader.cpp
+++ b/dom/media/gstreamer/GStreamerReader.cpp
@@ -554,6 +554,9 @@
* the appsinks */
if (UpdateCurrentAsActiveIfNotBusy(this)) {
gst_element_set_state(mPlayBin, GST_STATE_PLAYING);
+ GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS(GST_BIN(mPlayBin),
+ GstDebugGraphDetails(GST_DEBUG_GRAPH_SHOW_ALL /* GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE | GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS | GST_DEBUG_GRAPH_SHOW_STATES*/),
+ "ReadMetadata");
}

return NS_OK;
@@ -0,0 +1,18 @@
From 4dc86eb20668f92f810388e07253b16bed1a152d Tue, 7 Apr 2020 15:08:37 +0200
From: Andrew Branson <andrew.branson@jolla.com>
Date: Tue, 7 Apr 2020 11:12:19 +0200
Subject: [PATCH] [media] Require interleaved audio layout. Fixes JB#49532

diff --git a/dom/media/gstreamer/GStreamerReader.cpp b/dom/media/gstreamer/GStreamerReader.cpp
index 4183389..b5cc71e 100644
--- a/dom/media/gstreamer/GStreamerReader.cpp
+++ b/dom/media/gstreamer/GStreamerReader.cpp
@@ -1340,7 +1340,7 @@
#if GST_VERSION_MAJOR >= 1
GstCaps* GStreamerReader::BuildAudioSinkCaps()
{
- GstCaps* caps = gst_caps_from_string("audio/x-raw, channels={1,2}");
+ GstCaps* caps = gst_caps_from_string("audio/x-raw, channels={1,2}, layout=interleaved");
const char* format;
#ifdef MOZ_SAMPLE_TYPE_FLOAT32
#if MOZ_LITTLE_ENDIAN
25 changes: 3 additions & 22 deletions rpm/xulrunner-qt5.spec
Expand Up @@ -64,6 +64,8 @@ Patch18: 0018-Use-libcontentaction-for-custom-schem.patch
Patch19: 0019-Allow-compositor-specializations-to-override-the-com.patch
Patch20: 0020-Handle-temporary-directory-similarly-as-in-MacOSX.patch
Patch21: 0021-Disable-loading-extensions-and-assume-memory-constra.patch
Patch22: 0022-Enable-gstreamer-pipeline-debug-graph-generati.patch
Patch23: 0023-media-Require-interleaved-audio-layout-Fixes-JB49532.patch

BuildRequires: pkgconfig(Qt5Quick)
BuildRequires: pkgconfig(Qt5Network)
Expand Down Expand Up @@ -152,28 +154,7 @@ Tests and misc files for xulrunner.
%define BASE_CONFIG "$PWD"/embedding/embedlite/config/mozconfig.%{embedlite_config}

%prep
%setup -q -n %{name}-%{version}
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%autosetup -p1 -n %{name}-%{version}

mkdir -p "%BUILD_DIR"
cp -rf "%BASE_CONFIG" "%BUILD_DIR"/mozconfig
Expand Down

0 comments on commit d0d2102

Please sign in to comment.