This patch modifies MediaSampleGStreamer to use full nanosecond precision instead of microsecond precision. This fixes media/media-source/media-mp4-h264-sequence-mode.html
Created attachment 443304 [details] Patch
Comment on attachment 443304 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=443304&action=review > Source/WebCore/ChangeLog:11 > + This fixes media/media-source/media-mp4-h264-sequence-mode.html The fix may be accidental, since removing h264 parse from the pipeline broke the test again. In both cases the failure is from a minute discrepancy in timestamps.
What's the status of this patch? It was reviewed but never merged.
Maybe the test was updated since then, but with this patch (rebased), it still fails: --- /app/webkit/WebKitBuild/Release/layout-test-results/media/media-source/media-mp4-h264-sequence-mode-expected.txt +++ /app/webkit/WebKitBuild/Release/layout-test-results/media/media-source/media-mp4-h264-sequence-mode-actual.txt @@ -10,13 +10,13 @@ EVENT(update) EXPECTED (sourceBuffer.timestampOffset == '0') OK EXPECTED (sourceBuffer.buffered.length == '1') OK -EXPECTED (sourceBuffer.buffered.start(0) == '1') OK -EXPECTED (sourceBuffer.buffered.end(0) == '2') OK +EXPECTED (sourceBuffer.buffered.start(0) == '1'), OBSERVED '1.041666666' FAIL +EXPECTED (sourceBuffer.buffered.end(0) == '2'), OBSERVED '2.041666666' FAIL RUN(sourceBuffer.mode="sequence") RUN(sourceBuffer.appendBuffer(loader.mediaSegment(1))) EVENT(update) EXPECTED (sourceBuffer.timestampOffset == '1') OK EXPECTED (sourceBuffer.buffered.length == '1') OK -EXPECTED (sourceBuffer.buffered.end(0) == '3') OK +EXPECTED (sourceBuffer.buffered.end(0) == '3'), OBSERVED '3.041666666' FAIL END OF TEST
With current ToT: --- /app/webkit/WebKitBuild/Release/layout-test-results/media/media-source/media-mp4-h264-sequence-mode-expected.txt +++ /app/webkit/WebKitBuild/Release/layout-test-results/media/media-source/media-mp4-h264-sequence-mode-actual.txt @@ -10,13 +10,13 @@ EVENT(update) EXPECTED (sourceBuffer.timestampOffset == '0') OK EXPECTED (sourceBuffer.buffered.length == '1') OK -EXPECTED (sourceBuffer.buffered.start(0) == '1') OK -EXPECTED (sourceBuffer.buffered.end(0) == '2') OK +EXPECTED (sourceBuffer.buffered.start(0) == '1'), OBSERVED '1.041666' FAIL +EXPECTED (sourceBuffer.buffered.end(0) == '2'), OBSERVED '2.041666' FAIL RUN(sourceBuffer.mode="sequence") RUN(sourceBuffer.appendBuffer(loader.mediaSegment(1))) EVENT(update) EXPECTED (sourceBuffer.timestampOffset == '1') OK EXPECTED (sourceBuffer.buffered.length == '1') OK -EXPECTED (sourceBuffer.buffered.end(0) == '3') OK +EXPECTED (sourceBuffer.buffered.end(0) == '3'), OBSERVED '3.041666' FAIL END OF TEST
(In reply to Philippe Normand from comment #3) > What's the status of this patch? It was reviewed but never merged. Ping Alicia?
(In reply to Philippe Normand from comment #6) > (In reply to Philippe Normand from comment #3) > > What's the status of this patch? It was reviewed but never merged. > > Ping Alicia? I am aware of it, just had my attention on other things. My biggest problem with this patch was tests regressing in convoluted ways that should hopefully have been fixed by previous patches. Nowadays it would need a rebase and re-test.