Closed kenz-gelsoft closed 1 month ago
https://github.com/kenz-gelsoft/Inari/issues/27
it seems easy link error.
If we use H.264, it is needed to integrate openh264 or other codecs
We should use vpx
ac_add_options --with-system-libvpx
If YouTube send us VP9 or so, it should work.
Or disabling audio backend also disable video?
Will see about:support how it shows about supported codecs.
about:support doesn't show any media capabilities. IPC fails here too, it may be a part of the reason.
I doubt it lacks runtime packages, but libvpx is already active.
No Audio Backend, No Codec Support Info.
No Audio Backend
This is because --disable-audio-backends
// Create codec support matrix if possible
let supportInfo = null;
if (data.codecSupportInfo.length) {
// snip
} else {
// Don't have access to codec support information
supportInfo = await document.l10n.formatValue(
"media-codec-support-error"
);
}
Failed to get GfxInfo
It seems gfxInfo itself initialized correctly. Just we didn't get codecinfo here?
https://searchfox.org/mozilla-esr128/source/dom/ipc/ContentParent.cpp#1697
Failing glxtest will result this?
Fontconfig warning: ignoring en_US_POSIX.UTF-8: not a valid region tag
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libEGL initialize failed (t=285.351) [GFX1-]: glxtest: libEGL initialize failed
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libEGL initialize failed (t=285.351) |[1][GFX1-]: glxtest: EGL test failed (t=285.351) [GFX1-]: glxtest: EGL test failed
[Parent 133372, Main Thread] WARNING: Failed to parse GL version!: file /boot/home/src/gecko-dev/widget/gtk/GfxInfo.cpp:350
[Parent 133372, Main Thread] WARNING: Failed to detect GL vendor!: file /boot/home/src/gecko-dev/widget/gtk/GfxInfo.cpp:424
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libEGL initialize failed (t=285.351) |[1][GFX1-]: glxtest: EGL test failed (t=285.351) |[2][GFX1-]: No GPUs detected via PCI
(t=285.351) [GFX1-]: No GPUs detected via PCI
[Parent 133372, Main Thread] WARNING: Failed to connect to client: Could not connect: No such file or directory
: file /boot/home/src/gecko-dev/widget/gtk/nsAppShell.cpp:262
[Parent 133372, Main Thread] WARNING: Failed to connect to client: Could not connect: No such file or directory
: file /boot/home/src/gecko-dev/widget/gtk/nsAppShell.cpp:262
index cache: could not make cache directory: Read-only file system
GetGMPContentDecryptionModuleInformation() called in this stack
1 mozilla::dom::ChromeUtils::GetGMPContentDecryptionModuleInformation ChromeUtils.cpp 2162 0x9f284ce
2 mozilla::dom::ChromeUtils_Binding::getGMPContentDecryptionModuleInformation ChromeUtilsBinding.cpp 4495 0xad7a8ef
3 mozilla::dom::StaticMethodPromiseWrapper BindingUtils.cpp 3307 0xb127222
4 CallJSNative Interpreter.cpp 481 0xdbc7dde
5 js::InternalCallOrConstruct Interpreter.cpp 575 0xdbc74f0
6 InternalCall Interpreter.cpp 642 0xdbc88b8
7 js::CallFromStack Interpreter.cpp 647 0xdbd6042
8 js::Interpret Interpreter.cpp 3190 0xdbd6042
9 MaybeEnterInterpreterTrampoline Interpreter.cpp 395 0xdbc6f36
10 js::RunScript Interpreter.cpp 453 0xdbc6f36
11 js::InternalCallOrConstruct Interpreter.cpp 607 0xdbc750d
12 InternalCall Interpreter.cpp 642 0xdbc88b8
13 js::Call Interpreter.cpp 674 0xdbc8ac9
14 js::CallSelfHostedFunction SelfHosting.cpp 1592 0xdf1d40d
15 AsyncFunctionResume AsyncFunction.cpp 151 0xdca335a
16 js::AsyncFunctionAwaitedFulfilled AsyncFunction.cpp 192 0xdca302f
17 AsyncFunctionPromiseReactionJob Promise.cpp 2116 0xde7f1c7
18 PromiseReactionJob Promise.cpp 2179 0xde7f1c7
19 CallJSNative Interpreter.cpp 481 0xdbc7dde
20 js::InternalCallOrConstruct Interpreter.cpp 575 0xdbc74f0
... <More>
It seems gfxInfo itself initialized correctly. Just we didn't get codecinfo here?
https://searchfox.org/mozilla-esr128/source/dom/ipc/ContentParent.cpp#1697
but we didn't get here.
Some of there should be called
Should SendUpdateMediaCodecsSupported() from these
1 mozilla::widget::GfxInfo::GetData GfxInfo.cpp 477 0xcc0de9a
2 mozilla::widget::GfxInfo::GetFeatureStatusImpl GfxInfo.cpp 1217 0xcc11cdd
3 mozilla::widget::GfxInfoBase::GetFeatureStatus GfxInfoBase.cpp 879 0xcb622b0
4 IsFeatureSupported gfxPlatform.cpp 1138 0x998b674
5 gfxPlatform::IsDXInterop2Blocked gfxPlatform.cpp 1146 0x99877be
6 gfxPlatform::Init gfxPlatform.cpp 900 0x99877be
7 gfxPlatform::GetPlatform gfxPlatform.cpp 462 0x998a2c1
8 gfxPlatform::InitializeCMS gfxPlatform.cpp 2131 0x998a2c1
9 gfxPlatform::EnsureCMSInitialized gfxPlatform.h 952 0xcbc27ec
10 gfxPlatform::GetCMSMode gfxPlatform.h 499 0xcbc27ec
11 nsXPLookAndFeel::GetUncachedColor nsXPLookAndFeel.cpp 1025 0xcbc27ec
12 nsXPLookAndFeel::GetColorValue nsXPLookAndFeel.cpp 1005 0xcbc2562
13 mozilla::LookAndFeel::GetColor nsXPLookAndFeel.cpp 1398 0xcbc411d
14 mozilla::LookAndFeel::Color LookAndFeel.h 421 0xcb80183
15 mozilla::widget::GetAccentColor ThemeColors.cpp 91 0xcb80183
16 mozilla::widget::ThemeColors::RecomputeAccentColors ThemeColors.cpp 203 0xcb80183
17 mozilla::widget::Theme::LookAndFeelChanged Theme.cpp 183 0xcb7ffde
18 nsXPLookAndFeel::GetInstance nsXPLookAndFeel.cpp 401 0xcbc1bb1
19 mozilla::LookAndFeel::GetThemeInfo nsXPLookAndFeel.cpp 1516 0xcbc455e
20 nsSystemInfo::Init nsSystemInfo.cpp 1493 0x86ff858
... <More>
ContentParent::InitInternal()
this broadcast sCodecsSupported to children.
bool ContentParent::InitInternal(ProcessPriority aInitialPriority) {
// snip
for (auto const& [location, supported] : sCodecsSupported) {
Unused << SendUpdateMediaCodecsSupported(location, supported);
}
before that it needs set codecs in (but not called as far as I know)
void ContentParent::BroadcastMediaCodecsSupportedUpdate(
RemoteDecodeIn aLocation, const media::MediaCodecsSupported& aSupported) {
// Update processes and print the support info from the given location.
sCodecsSupported[aLocation] = aSupported;
callstack
1 mozilla::dom::ContentParent::InitInternal ContentParent.cpp 2967 0xc4b617d
2 mozilla::dom::ContentParent::LaunchSubprocessResolve ContentParent.cpp 2766 0xc4b0284
3 mozilla::dom::ContentParent::WaitForLaunchSync ContentParent.cpp 1194 0xc4afec0
4 mozilla::dom::ContentParent::GetNewOrUsedBrowserProcess ContentParent.cpp 1136 0xc4b1165
5 mozilla::dom::ContentParent::CreateBrowser ContentParent.cpp 1481 0xc4b1165
6 nsFrameLoader::TryRemoteBrowserInternal nsFrameLoader.cpp 2696 0xa170b39
7 nsFrameLoader::TryRemoteBrowser nsFrameLoader.cpp 2761 0xa166e31
8 nsFrameLoader::EnsureRemoteBrowser nsFrameLoader.cpp 2497 0xa166e31
9 nsFrameLoader::ShowRemoteFrame nsFrameLoader.cpp 1095 0xa166f79
10 nsFrameLoader::Show nsFrameLoader.cpp 959 0xa1686d3
11 nsSubDocumentFrame::ShowViewer nsSubDocumentFrame.cpp 198 0xd1c5e3b
12 AsyncFrameInit::Run nsSubDocumentFrame.cpp 110 0xd1fe622
13 nsContentUtils::RemoveScriptBlocker nsContentUtils.cpp 6239 0x9e4e696
14 nsAutoScriptBlocker::~nsAutoScriptBlocker nsContentUtils.h 3790 0xcf86144
15 mozilla::PresShell::DoFlushPendingNotifications PresShell.cpp 4358 0xcf86144
16 mozilla::PresShell::FlushPendingNotifications PresShell.h 1455 0x9fdcc80
17 mozilla::dom::Document::FlushPendingNotifications Document.cpp 10925 0x9fdcc80
18 nsFrameLoader::TryRemoteBrowserInternal nsFrameLoader.cpp 2528 0xa170544
19 nsFrameLoader::TryRemoteBrowser nsFrameLoader.cpp 2761 0xa166e31
20 nsFrameLoader::EnsureRemoteBrowser nsFrameLoader.cpp 2497 0xa166e31
... <More>
Locals
aInitialPriority mozilla::hal::PROCESS_PRIORITY_FOREGROUND (4) mozilla::dom::PContentParent::ProcessPriority
actorSvc <optimized out>
clipboard @0x7f000107e128 nsCOMPtr<nsIClipboard>
compositor @0x7f000107e360 mozilla::dom::PContentParent::Endpoint<PCompositorManagerChild>
cps @0x7f000107e130 nsCOMPtr<nsICaptivePortalService>
dns @0x7f000107e0e8 nsCOMPtr<nsIDNSService>
fontList @0x7f000107e110 mozilla::dom::PContentParent::SystemFontList
gfxInfo @0x7f000107e100 nsCOMPtr<nsIGfxInfo>
imageBridge @0x7f000107e320 mozilla::dom::PContentParent::Endpoint<PImageBridgeChild>
initialData @0x7f000107e3b0 mozilla::dom::PContentParent::StructuredCloneData
io @0x7f000107e138 nsCOMPtr<nsIIOService>
isReadyForBackgroundProcessing false bool
mode 4097 (4097) nsIDNSService::ResolverMode
moz_real_module 0xaaaaaaaaaaaaaaaa mozilla::LogModule*
namespaces @0x7f000107e280 AutoTArray<unsigned int, 3ul>
registrySvc @0x7f000107e0d8 nsCOMPtr<nsIChromeRegistry>
rv <optimized out>
sharedFontListBlocks @0x7f000107e108 nsTArray<mozilla::UniquePtr<int, mozilla::detail::FileHandleDeleter> >
sharedUASheetAddress 142208591 mozilla::dom::PContentParent::uintptr_t
sharedUASheetHandle @0x7f000107e198 mozilla::Maybe<mozilla::UniquePtr<int, mozilla::detail::FileHandleDeleter> >
spellChecker <optimized out>
stringBundleService @0x7f000107e0d0 nsCOMPtr<nsIStringBundleService>
this @0x1001034357f0 mozilla::dom::ContentParent
[mozilla::dom::PContentParent] @0x1001034357f0 mozilla::dom::PContentParent
[nsIDOMProcessParent] @0x100103435ac0 nsIDOMProcessParent
[nsIObserver] @0x100103435ac8 nsIObserver
[nsIDOMGeoPositionCallback] @0x100103435ad0 nsIDOMGeoPositionCallback
[nsIDOMGeoPositionErrorCallback] @0x100103435ad8 nsIDOMGeoPositionErrorCallback
[nsIAsyncShutdownBlocker] @0x100103435ae0 nsIAsyncShutdownBlocker
[nsIInterfaceRequestor] @0x100103435ae8 nsIInterfaceRequestor
[mozilla::gfx::gfxVarReceiver] @0x100103435af0 mozilla::gfx::gfxVarReceiver
[mozilla::LinkedListElement<mozilla::dom::ContentParent>] @0x100103435af8 mozilla::LinkedListElement<mozilla::dom::ContentParent>
[mozilla::gfx::GPUProcessListener] @0x100103435b10 mozilla::gfx::GPUProcessListener
[mozilla::MemoryReportingProcess] @0x100103435b18 mozilla::MemoryReportingProcess
[mozilla::dom::ipc::MessageManagerCallback] @0x100103435b20 mozilla::dom::ipc::MessageManagerCallback
[mozilla::ipc::IShmemAllocator] @0x100103435b28 mozilla::ipc::IShmemAllocator
[mozilla::dom::ProcessActor] @0x100103435b30 mozilla::dom::ProcessActor
_cycleCollectorGlobal @0x101d3a80 mozilla::dom::ContentParent::cycleCollection
_mOwningThread @0x100103435b68 nsAutoOwningThread
mActivateTS @0x100103435b88 mozilla::dom::PContentParent::TimeStamp
mActivePermissionKeys @0x100103435c50 nsTHashSet<nsCString>
mActiveSecondaryPermissionKeys @0x100103435c78 nsTHashSet<nsCString>
mBlobURLs @0x100103435ca0 nsTArray<nsTString<char> >
mBlockShutdownCalled false bool
mBrowsingContextFieldEpoch 0 mozilla::dom::PContentParent::uint64_t
mCalledClose 0 mozilla::dom::PContentParent::uint8_t : 1
mCalledKillHard 0 mozilla::dom::PContentParent::uint8_t : 1
mChildID @0x100103435bc0 mozilla::dom::PContentParent::ContentParentId
mCrashReporter @0x100103435cb0 mozilla::dom::PContentParent::UniquePtr<mozilla::ipc::CrashReporterHost>
mCreatedPairedMinidumps 0 mozilla::dom::PContentParent::uint8_t : 1
mDriverCrashGuard @0x100103435c18 mozilla::dom::PContentParent::UniquePtr<gfx::DriverCrashGuard>
mForceKillTimer @0x100103435be0 nsCOMPtr<nsITimer>
mGMPCreated 0 mozilla::dom::PContentParent::uint8_t : 1
mGeolocationWatchID -1 mozilla::dom::PContentParent::int32_t
mGetFilesPendingRequests @0x100103435c28 nsRefPtrHashtable<nsIDHashKey, GetFilesHelper>
mGroups @0x100103435cc8 nsTHashSet<RefPtr<BrowsingContextGroup> >
mHangMonitorActor @0x100103435c10 RefPtr<mozilla::PProcessHangMonitorParent>
mIdleListeners @0x100103435c08 nsTArray<nsCOMPtr<nsIObserver> >
mIsAPreallocBlocker true bool
mIsForBrowser 1 mozilla::dom::PContentParent::uint8_t : 1
mIsInPool 1 mozilla::dom::PContentParent::uint8_t : 1
mIsInputPriorityEventEnabled 0 mozilla::dom::PContentParent::uint8_t : 1
mIsNotifiedShutdownSuccess false bool
mIsRemoteInputEventQueueEnabled 0 mozilla::dom::PContentParent::uint8_t : 1
mIsSignaledImpendingShutdown false bool
mLaunchResolved 1 mozilla::dom::PContentParent::uint8_t : 1
mLaunchResolvedOk 0 mozilla::dom::PContentParent::uint8_t : 1
mLaunchTS @0x100103435b78 mozilla::dom::PContentParent::TimeStamp
mLaunchYieldTS @0x100103435b80 mozilla::dom::PContentParent::TimeStamp
mLifecycleState mozilla::dom::ContentParent::LifecycleState::ALIVE (1) mozilla::dom::ContentParent::LifecycleState
mLoadedOriginHashes @0x100103435ca8 nsTArray<unsigned long>
mMemoryReportRequest @0x100103435c20 mozilla::dom::PContentParent::UniquePtr<MemoryReportRequestHost>
mMessageManager @0x100103435cc0 RefPtr<mozilla::dom::ProcessMessageManager>
mNotifiedImpendingShutdownOnTabWillDestroy false bool
mNumDestroyingTabs 0 mozilla::dom::PContentParent::int32_t
mNumKeepaliveCalls 0 mozilla::dom::PContentParent::uint32_t
mPendingLoadStates @0x100103435cf0 nsTHashMap<uint64_t, RefPtr<nsDocShellLoadState> >
mPrefSerializer @0x100103435d20 mozilla::dom::PContentParent::UniquePtr<mozilla::ipc::SharedPreferenceSerializer>
mProfile @0x100103435ba8 mozilla::dom::PContentParent::nsCString
mQueuedPrefs @0x100103435cb8 nsTArray<mozilla::dom::Pref>
mRefCnt @0x100103435b60 nsCycleCollectingAutoRefCnt
mRemoteType @0x100103435b98 mozilla::dom::PContentParent::nsCString
mRemoteTypeIsolationPrincipal @0x100103435bb8 nsCOMPtr<nsIPrincipal>
mScriptableHelper @0x100103435c00 nsCOMPtr<nsIContentProcessInfo>
mSendShutdownTimer @0x100103435bd0 nsCOMPtr<nsITimer>
mSentShutdownMessage false bool
mShutdownPending 0 mozilla::dom::PContentParent::uint8_t : 1
mSubprocess @0x1001034b2300 mozilla::ipc::GeckoChildProcessHost
mThreadsafeHandle @0x100103435be8 RefPtr<mozilla::dom::ThreadsafeContentParentHandle>
sBrowserContentParents @0x100103413b20 nsClassHashtable<nsCStringHashKey, nsTArray<mozilla::dom::ContentParent*> >
sContentParents @0x1028ef80 mozilla::StaticAutoPtr<mozilla::LinkedList<mozilla::dom::ContentParent> >
sMaxContentProcesses 1179403647 uint32_t
sPageLoadEventCounter 0 uint32_t
sRecycledE10SProcess @0x1028ef88 mozilla::StaticRefPtr<mozilla::dom::ContentParent>
videoManager @0x7f000107e2a0 mozilla::dom::PContentParent::Endpoint<PRemoteDecoderManagerChild>
vrBridge @0x7f000107e2e0 mozilla::dom::PContentParent::Endpoint<PVRManagerChild>
xpcomInit @0x7f000107e1a0 mozilla::dom::PContentParent::XPCOMInitData
Inspector
Expressions
sCodecsSupported <0 items> std::map<mozilla::RemoteDecodeIn, mozilla::EnumSet<mozilla::media::MediaCodecsSupport, unsigned long>, std::less<mozilla::RemoteDecodeIn>, std::allocator<std::pair<mozilla::RemoteDecodeIn const, mozilla::EnumSet<mozilla::media::MediaCodecsSupport, unsigned long> > > >
Return Value
Tooltip
nsPrintfCString <no such value>
sharedUASheetAddress 142208591 mozilla::dom::PContentParent::uintptr_t
RDD is remote data decoder. This should be only media pipeline we can use.
Not enabled in StaticPrefs for Haiku
I intentionally disabled that to pass the build first.was not in the case now. just not working.X512 pointed out in https://github.com/kenz-gelsoft/gecko-dev/issues/10#issuecomment-2282816258
and tester wants to try YouTube.