panomax.com - Live image does not work, it is static
Categories
(Web Compatibility :: Site Reports, defect, P3)
Tracking
(Webcompat Priority:P3, Webcompat Score:3, firefox135 affected, firefox136 affected, firefox137 affected)
People
(Reporter: ctanase, Unassigned, NeedInfo)
References
()
Details
(Keywords: webcompat:site-report, Whiteboard: [webcompat-source:product])
User Story
platform:windows impact:site-broken configuration:general affects:some branch:release diagnosis-team:media user-impact-score:21
Attachments
(2 files)
Environment:
Operating system: Windows 11/10
Firefox version: Firefox 134.0.2 (release)/135/137
Preconditions:
- Clean profile
Steps to reproduce:
- Navigate to: https://trieste.panomax.com/
- Observe the live image.
Expected Behavior:
The live image plays.
Actual Behavior:
The live image does not play.
Notes:
- Reproducible on the latest Firefox Release and Nightly
- Reproducible regardless of the ETP setting
- Works as expected using Chrome
Created from webcompat-user-report:8ae97dd8-0b98-4130-b070-b6880636b098
Comment 1•8 months ago
|
||
Since nightly and release are affected, beta will likely be affected too.
For more information, please visit BugBot documentation.
Comment 2•8 months ago
|
||
This seems to be working fine for us in the triage meeting now. Is this still broken for you, Calin? Do you see any exceptions in the JS console?
Reporter | ||
Comment 3•8 months ago
|
||
Updated to 137.0a1 (2025-02-05) but the issue still reproduces.
In some cases if I leave the page open long enough it will become unresponsive and it will show the warning that it slows down the browser. I've captured a performance profile: https://share.firefox.dev/4gvM9vs
Comment 4•8 months ago
|
||
I see a media decoding error in that screenshot, so let's see if the media team has an idea. I'll set "affects users: some", though, because this appears to be intermittent.
![]() |
||
Comment 5•8 months ago
|
||
Where is the live image the report refers too? I see a scrolling image of a city on the main page.
![]() |
||
Comment 6•8 months ago
|
||
Never mind, I see now that the scrolling image is actually a live video feed in Chrome.
![]() |
||
Comment 7•8 months ago
•
|
||
Media resource blob:https://trieste.panomax.com/e29e644d-84de-4884-b200-97a7dd0e5264 could not be decoded. trieste.panomax.com
Media resource blob:https://trieste.panomax.com/e29e644d-84de-4884-b200-97a7dd0e5264 could not be decoded, error: Error Code: NS_ERROR_DOM_MEDIA_DECODE_ERR (0x806e0004)
Details: Error GMP callback (GMPErr:7)
GMPDecodeErr = 7
https://searchfox.org/mozilla-central/rev/a80b3969c6d78ac5ba2552a5bce5e5c7a74f3a9b/dom/media/gmp/gmp-api/gmp-errors.h#36
![]() |
||
Comment 8•8 months ago
|
||
Looks like this might be related to drm or openh264, although I'd be surprised if I had an issue with H264.
![]() |
||
Comment 9•8 months ago
•
|
||
Profile with media logging -
https://share.firefox.dev/4hIduvR
Not seeing much here that points to the specific issue. Possibly some sort of format issue?
This appears to point to an issue with the content and openh264 -
https://profiler.firefox.com/public/99kkk30dwsbxvvjpdadgrt4f1hw4eesvqm0r240/marker-table/?globalTrackOrder=0we&hiddenGlobalTracks=2wd&hiddenLocalTracksByPid=19188-1w8bwe~6608-0w3~22532-0w3~15288-0w4~12376-0w3~17660-0w3~23348-0w6~18604-0w6~4044-0w5~9556-0w5~24728-0w8~8868-0w367&thread=yk&v=10
On my system though, not sure why I would get openh264 since I have platform h264 decoding.
![]() |
||
Comment 10•7 months ago
|
||
Hey Ashley, maybe you can try to diagnose this for us? Thanks.
Comment 11•7 months ago
•
|
||
Looks like an error demuxing video, with many errors similar to the below:
[rr 922431 322190][Parent 922431: MediaSupervisor #1]: D/MediaDemuxer Moof(7f0f2cce53a0)::RebuildFragmentedIndex: Done, foundValidMoof=false.
[rr 922431 322194][Parent 922431: MediaSupervisor #1]: D/MediaDemuxer MP4TrackDemuxer[7f0f3c577ba0] ::GetNextSample: Video packet demuxed (track id: 256): [{2646000,90000},{2649600,90000}], duration: {3600,90000} (original time: [{invalid},{invalid}])
[rr 922431 322198][Parent 922431: MediaSupervisor #1]: D/MediaDemuxer MP4TrackDemuxer[7f0f3c577ba0] ::GetNextSample: Video packet demuxed (track id: 256): [{2649600,90000},{2653200,90000}], duration: {3600,90000} (original time: [{invalid},{invalid}])
// ... omitting many similar messages
[rr 922431 322931][Parent 922431: MediaSupervisor #1]: D/MediaDemuxer MP4TrackDemuxer[7f0f3c577ba0] ::GetNextSample: Video packet demuxed (track id: 256): [{3171600,90000},{3175200,90000}], duration: {3600,90000} (original time: [{invalid},{invalid}])
[rr 922431 322935][Parent 922431: MediaSupervisor #1]: D/MediaDemuxer Moof(7f0f2cce53a0)::BlockingReadNextMoof: Starting.
[rr 922431 322939][Parent 922431: MediaSupervisor #1]: D/MediaDemuxer Moof(7f0f2cce53a0)::BlockingReadNextMoof: Couldn't read next moof, returning false.
[rr 922431 322943][Parent 922431: MediaSupervisor #1]: D/MediaDemuxer Moof(7f0f2cce53a0)::BlockingReadNextMoof: Starting.
[rr 922431 322947][Parent 922431: MediaSupervisor #1]: D/MediaDemuxer Moof(7f0f2cce53a0)::BlockingReadNextMoof: Couldn't read next moof, returning false.
[rr 922431 322951][Parent 922431: MediaSupervisor #1]: D/MediaSource TrackBuffersManager[7f0f56311200] ::OnVideoDemuxCompleted: 147 video samples demuxed, queued-sz=147
[rr 922431 322955][Parent 922431: MediaSupervisor #1]: D/MediaSourceSamples TrackBuffersManager[7f0f56311200] ::ProcessFrames: Processing video/avc frame [29400000{2646000,90000},29440000{2649600,90000}] (adjusted:[29400000{2646000,90000},29440000{2649600,90000}]), dts:29400000, duration:40000, kf:1)
[rr 922431 322959][Parent 922431: MediaSupervisor #1]: V/MediaSourceSamples TrackBuffersManager[7f0f56311200] ::operator(): Add sample [29400000{2646000,90000},29440000{2649600,90000}] by interval [{2646000,90000}, {2649600,90000}]({0,1000000})
[rr 922431 322963][Parent 922431: MediaSupervisor #1]: D/MediaSourceSamples TrackBuffersManager[7f0f56311200] ::ProcessFrames: Processing video/avc frame [29440000{2649600,90000},29480000{2653200,90000}] (adjusted:[29440000{2649600,90000},29480000{2653200,90000}]), dts:29440000, duration:40000, kf:0)
We do manage to decode a bunch of samples:
[rr 922431 343232][Parent 922431: MediaSupervisor #1]: V/MediaFormatReader MediaFormatReader[7f0f523ce000] ::OnVideoDemuxCompleted: 1 video samples demuxed (sid:0)
[rr 922431 343236][Parent 922431: MediaSupervisor #1]: V/MediaFormatReader MediaFormatReader[7f0f523ce000] ::ScheduleUpdate: SchedulingUpdate(Video)
[rr 922431 343240][Parent 922431: MediaSupervisor #1]: V/MediaFormatReader MediaFormatReader[7f0f523ce000] ::Update: Processing update for Video
[rr 922431 343244][Parent 922431: MediaSupervisor #1]: V/MediaFormatReader MediaFormatReader[7f0f523ce000] ::UpdateReceivedNewData: !decoder.mReceivedNewData
[rr 922431 343248][Parent 922431: MediaSupervisor #1]: V/MediaFormatReader MediaFormatReader[7f0f523ce000] ::Update: Update(Video) ni=1 no=0 in:24 out:17 qs=7 decoding:0 flushing:0 desc:ffmpeg video decoder pending:0 waiting:1 eos:0 ds:0 sid:0 waitcdm:0
[rr 922431 343252][Parent 922431: MediaSupervisor #1]: V/MediaFormatReader MediaFormatReader[7f0f523ce000] ::HandleDemuxedSamples: Video Input:34280000 (dts:34280000 kf:0)
[rr 922431 343265][Parent 922431: Main Thread]: D/MediaDecoder MediaDecoder[7f0f2ccec800] UpdateVideoDecodeMode(), set Suspend because of invisible element.
[rr 922431 343269][Parent 922431: Main Thread]: D/MediaDecoder MediaDecoder[7f0f2ccec800] Pause
I edited the source so that we wouldn't suspend regardless here and made sure that autoplay is enabled, but this didn't fix playback. Even changing that code, there'd still be some issues reading the next moof:
[Parent 930282: MediaSupervisor #1]: D/MediaDemuxer Moof(7f9099ba0f80)::BlockingReadNextMoof: Starting.
[Parent 930282: MediaSupervisor #1]: D/MediaDemuxer Moof(7f9099ba0f80)::BlockingReadNextMoof: Couldn't read next moof, returning false.
[Parent 930282: Main Thread]: D/MediaDecoder MediaDecoder[7f909bfec400] Pause
[Parent 930282: MediaSupervisor #1]: D/MediaSource TrackBuffersManager[7f90938e9e00] ::OnVideoDemuxCompleted: 147 video samples demuxed, queued-sz=147
[Parent 930282: MediaSupervisor #1]: D/MediaSourceSamples TrackBuffersManager[7f90938e9e00] ::ProcessFrames: Processing video/avc frame [35280000{3175200,90000},35320000{3178800,90000}] (adjusted:[35280000{3175200,90000},35320000{3178800,90000}]), dts:35280000, duration:40000, kf:1)
[Parent 930282: MediaSupervisor #1]: V/MediaSourceSamples TrackBuffersManager[7f90938e9e00] ::operator(): Add sample [35280000{3175200,90000},35320000{3178800,90000}] by interval [{3175200,90000}, {3178800,90000}]({0,1000000})
[Parent 930282: MediaSupervisor #1]: D/MediaSourceSamples TrackBuffersManager[7f90938e9e00] ::ProcessFrames: Processing video/avc frame [35320000{3178800,90000},35360000{3182400,90000}] (adjusted:[35320000{3178800,90000},35360000{3182400,90000}]), dts:35320000, duration:40000, kf:0)
[Parent 930282: MediaSupervisor #1]: V/MediaSourceSamples TrackBuffersManager[7f90938e9e00] ::operator(): Add sample [35320000{3178800,90000},35360000{3182400,90000}] by interval [{3178800,90000}, {3182400,90000}]({0,1000000})
... and the decoder would eventually shut down regardless:
[Parent 930282: MediaSupervisor #2]: D/MediaFormatReader MediaFormatReader[7f908573d000] ::NotifyNewOutput: Done processing new Video samples
[Parent 930282: MediaSupervisor #2]: V/MediaFormatReader MediaFormatReader[7f908573d000] ::ScheduleUpdate: SchedulingUpdate(Video)
[Parent 930282: MediaSupervisor #2]: V/MediaFormatReader MediaFormatReader[7f908573d000] ::Update: Processing update for Video
[Parent 930282: MediaSupervisor #2]: V/MediaFormatReader MediaFormatReader[7f908573d000] ::UpdateReceivedNewData: !decoder.mReceivedNewData
[Parent 930282: MediaSupervisor #2]: V/MediaFormatReader MediaFormatReader[7f908573d000] ::Update: Update(Video) ni=1 no=1 in:7 out:0 qs=7 decoding:0 flushing:0 desc:ffmpeg video decoder pending:0 waiting:0 eos:0 ds:0 sid:1 waitcdm:0
[Parent 930282: MediaSupervisor #2]: V/MediaFormatReader MediaFormatReader[7f908573d000] ::RequestDemuxSamples: Requesting extra demux Video
[Parent 930282: MediaSupervisor #2]: V/MediaFormatReader MediaFormatReader[7f908573d000] ::OnVideoDemuxCompleted: 1 video samples demuxed (sid:1)
[Parent 930282: MediaSupervisor #2]: V/MediaFormatReader MediaFormatReader[7f908573d000] ::ScheduleUpdate: SchedulingUpdate(Video)
[Parent 930282: MediaSupervisor #2]: V/MediaFormatReader MediaFormatReader[7f908573d000] ::Update: Processing update for Video
[Parent 930282: MediaSupervisor #2]: V/MediaFormatReader MediaFormatReader[7f908573d000] ::UpdateReceivedNewData: !decoder.mReceivedNewData
[Parent 930282: MediaSupervisor #2]: V/MediaFormatReader MediaFormatReader[7f908573d000] ::Update: Update(Video) ni=1 no=1 in:7 out:0 qs=7 decoding:0 flushing:0 desc:ffmpeg video decoder pending:0 waiting:0 eos:0 ds:0 sid:1 waitcdm:0
[Parent 930282: MediaSupervisor #2]: V/MediaFormatReader MediaFormatReader[7f908573d000] ::HandleDemuxedSamples: Video Input:33600000 (dts:33600000 kf:0)
[Parent 930282: MediaPDecoder #1]: V/PlatformDecoderModule ProcessDecode: mDuration=40000µs ; mTime=33600000µs ; mTimecode=33600000µs
[Parent 930282: Main Thread]: D/MediaSource dom::MediaSource[7f9093c90ec0] ::EndOfStream: EndOfStream(aError=0)
[Parent 930282: Main Thread]: D/MediaSource dom::MediaSource[7f9093c90ec0] ::CompletePendingTransactions: Resolving 0 promises
[Parent 930282: Main Thread]: D/MediaSource MediaSourceDecoder[7f909bfec400] ::Shutdown: Shutdown
[Parent 930282: Main Thread]: D/MediaSource dom::MediaSource[7f9093c90ec0] ::Detach: mDecoder=7f909bfec400 owner=7f9093b1b888
[Parent 930282: Main Thread]: D/MediaSource dom::MediaSource[7f9093c90ec0] ::SetReadyState: SetReadyState(aState=0) mReadyState=1
[Parent 930282: Main Thread]: D/MediaSource dom::MediaSource[7f9093c90ec0] ::QueueAsyncSimpleEvent: Queuing event 'sourceclose'
[Parent 930282: Main Thread]: D/MediaSource dom::SourceBuffer[7f9093d9a0a0] (video/mp4;codecs=avc1.64003c)::Detach: Detach
[Parent 930282: Main Thread]: D/MediaSource TrackBuffersManager[7f90938e9e00] ::AbortAppendData:
[Parent 930282: Main Thread]: D/MediaSource dom::SourceBuffer[7f9093d9a0a0] (video/mp4;codecs=avc1.64003c)::QueueAsyncSimpleEvent: Queuing event 'abort'
[Parent 930282: Main Thread]: D/MediaSource dom::SourceBuffer[7f9093d9a0a0] (video/mp4;codecs=avc1.64003c)::QueueAsyncSimpleEvent: Queuing event 'updateend'
[Parent 930282: Main Thread]: D/MediaSource TrackBuffersManager[7f90938e9e00] ::Detach:
[Parent 930282: MediaSupervisor #2]: D/MediaSource TrackBuffersManager[7f90938e9e00] ::ProcessTasks: Process task 'Abort'
[Parent 930282: Main Thread]: D/MediaSource SourceBufferList(7f909aca70d0)::QueueAsyncSimpleEvent: Queue event 'removesourcebuffer'
[Parent 930282: Main Thread]: D/MediaSource dom::SourceBuffer[7f9093d9a0a0] (video/mp4;codecs=avc1.64003c)::Detach: Detach
[Parent 930282: Main Thread]: D/MediaSource dom::SourceBuffer[7f9093d9a0a0] (video/mp4;codecs=avc1.64003c)::Detach: Already detached
[Parent 930282: Main Thread]: D/MediaSource SourceBufferList(7f909aca71f0)::QueueAsyncSimpleEvent: Queue event 'removesourcebuffer'
[Parent 930282: MediaSupervisor #2]: D/MediaSource TrackBuffersManager[7f90938e9e00] ::ProcessTasks: Process task 'Detach'
[Parent 930282: Main Thread]: D/MediaDecoder MediaDecoder[7f909bfec400] Play state changes from PLAY_STATE_PAUSED to PLAY_STATE_SHUTDOWN
I captured a Pernosco session of the unpatched source here. There are many errors re: invalid moofs. padenot, would you have any ideas?
Comment 12•7 months ago
|
||
Reporter, please get us media playback logs with about:logging:
- In Firefox, ideally freshly started with no other tabs, go to about:logging in a new tab
- Select the Media preset and click Start Logging
- Reproduce the bug
- Back on about:logging, click Stop Logging
- In the new tab that appears with the Firefox Profiler web application, in the top right click the button to upload the profile
- Make sure hidden threads are included and upload, then share the link here or send privately to a Mozilla developer
Here are the same instructions, in video form, if you prefer that https://paul.cx/public/about-logging-presentation.webm
It works here on macOS, I can pan the live image, and it is live, e.g. I see cars moving.
Reporter | ||
Comment 13•7 months ago
|
||
Captured profile with media preset: https://share.firefox.dev/4h8xo2k
![]() |
||
Updated•5 months ago
|
![]() |
||
Comment 14•4 months ago
•
|
||
(In reply to Calin Tanase from comment #13)
Captured profile with media preset: https://share.firefox.dev/4h8xo2k
I'm not sure how we end up using GMP for H264 here on Windows 10. But the plugin doesn't like the video it gets -
LogMessages — (PlatformDecoderModule) Sandbox GPU decoder supports requested type video/avc
LogMessages — (PlatformDecoderModule) Sandbox Utility WMF decoder rejects requested type video/avc
LogMessages — (PlatformDecoderModule) Sandbox Utility Generic decoder rejects requested type video/avc
LogMessages — (PlatformDecoderModule) Sandbox Utility MF Media Engine CDM decoder supports requested type video/avc
LogMessages — (MediaFormatReader) MediaFormatReader[2568de70400] ::NotifyError: Video Decoding error: NS_ERROR_DOM_MEDIA_DECODE_ERR (0x806e0004) - Error GMP callback (GMPErr:7)
Event::record - mediaPlayback.decodeError: {"error_name": "NS_ERROR_DOM_MEDIA_DECODE_ERR", "mime_type": "video/avc", "is_hardware_accelerated": "false", "decoder_name": "gmp video decoder"}
LogMessages — (MediaFormatReader) MediaFormatReader[2568de70400] ::Update: Rejecting Video promise for video/avc : DECODE_ERROR
![]() |
||
Comment 15•4 months ago
|
||
There's something in the supervisor #3 thread -
LogMessages — (MediaFormatReader) MediaFormatReader[2568de70400] ::OnDemuxFailed: Failed to demux video, failure:NS_ERROR_DOM_MEDIA_WAITING_FOR_DATA
![]() |
||
Comment 16•4 months ago
•
|
||
This video is larger than Media Foundation and D3D11 decoder support, (max resolution support for WMF H264 is 4096). Chrome falls back to using the ffmpeg decoder. Due to the patent issue, we can't do that.
![]() |
||
Updated•4 months ago
|
Updated•4 months ago
|
Comment 17•4 months ago
|
||
Could we use OpenH264 for the high resolution vidoes?
![]() |
||
Comment 18•4 months ago
|
||
Alastor, would something like this be possible?
Updated•1 month ago
|
Description
•