New issue
Advanced search Search tips

Issue 775042 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 2
Type: Bug-Regression



Sign in to add a comment

webaudio/codec-tests/aac/m4a-short-duration-44khz.html fails

Project Member Reported by rtoy@chromium.org, Oct 16 2017

Issue description

The above test fails now.  it looks like the some of preroll frames are no longer removed.  The expected result is 960 frames long versus the new result of 1024 frames.

Suspect the recent ffmpeg roll changed this.

Duplicate this using:

run-webkit-tests --skipped=ignore webaudio/codec-tests/aac
 
Cc: -chcunningham@chromium.org dalecur...@chromium.org
Labels: -Type-Bug -Pri-3 ReleaseBlock-Stable M-63 Pri-1 Type-Bug-Regression
Owner: chcunningham@chromium.org
Status: Assigned (was: Untriaged)
We shouldn't be shipping regressions like this. It's unclear to me why the existing unit tests wouldn't have caught this, we do preroll hash checks and they were unchanged during the roll. 

Did this not fail on the bots because the webkit bots run without prop codecs?
Looks like these tests are marked "skipped"

Comment 3 by rtoy@chromium.org, Oct 16 2017

Yes, exactly; the bots can't have the prop codecs.

(BTW, is mp3 available by default now?  We can then enable the mp3 tests on the bots.)

I do run all the tests locally but sometimes I forget to say --skipped=ignore.  But I'm pretty sure all the test were running fine last week.
Please add appropriate OSs.
Labels: OS-Android OS-Chrome OS-Linux OS-Mac OS-Windows
Raymond, I'm not able to repro this on tip of tree. Branch is clean and freshly sync'd. Console output below. LMK what I'm missing.


$ git log --pretty=format:"%h%x09%an%x09%ad%x09%s" -n 5
37f9056c8006    Matthew Jones   Wed Oct 11 16:25:28 2017        [Home] Remove expand button experiment
caea1e410026    Zijie He        Wed Oct 11 16:20:35 2017        [Chromoting] Enable WebrtcVideoEncoderGpu
9016e874635d    Charles Harrison        Wed Oct 11 16:20:21 2017        [subresource_filter] Make sure forced activation does not trigger messages
c98596763f36    Sunny Sachanandani      Wed Oct 11 16:19:16 2017        gpu: Prioritize contexts with client waits.
30c3cacbeac5    Carlos Knippschild      Wed Oct 11 16:19:07 2017        Update freshness time when performing GeneratePageBundle

$ git -C ./third_party/ffmpeg/ log --pretty=format:"%h%x09%an%x09%ad%x09%s" -n 5 
3098b6a245      Chris Cunningham        Thu Oct 12 15:43:35 2017        Update build_ffmpeg.py ChromeOs instructions.
40d58062f3      Wez     Thu Oct 12 15:37:42 2017        Rewrite HAVE_AS_FUNC to zero under non-Windows, to suit Clang.
62ff55193a      Chris Cunningham        Tue Oct 10 17:01:43 2017        Merge branch 'merge-m63'
f6859a7d7a      Chris Cunningham        Thu Oct 5 15:57:43 2017 Fixing HAVE_VALGRIND defines for asm files
ba8c551987      Chris Cunningham        Thu Oct 5 15:43:37 2017 updating windows configs and starting on build_ffmpeg.py

$ ninja -C out/Default blink_tests
ninja: Entering directory `out/Default'
ninja: no work to do.

$ third_party/WebKit/Tools/Scripts/run-webkit-tests -t Default --skipped=ignore webaudio/codec-tests/aac
Using port 'linux-trusty'
Test configuration: <trusty, x86_64, release>
View the test results at file:///ssd/blink3/src/out/Default/layout-test-results/results.html
Using random order with seed: 1508176633
Baseline search path: linux -> win -> generic
Using Release build
Pixel tests enabled
Regular timeout: 6000, slow test timeout: 30000
Command line: /ssd/blink3/src/out/Default/content_shell --run-layout-test --ignore-certificate-errors-spki-list=Nxvaj3+bY3oVrTc+Jp7m3E3sB1n3lXtnMDCyBsqEXiY= --enable-crash-reporter --crash-dumps-dir=/ssd/blink3/src/out/Default/crash-dumps -

Found 2 tests; running 2, skipping 0.
Running 1 content_shell.                                         

All 2 tests ran as expected.                                       


Here are my gn args

ffmpeg_branding = "ChromeOS"
is_debug = false
dcheck_always_on = true
is_component_build = true
use_goma = true
goma_dir = "/usr/local/google/home/chcunningham/goma"
proprietary_codecs = true



Wait... I'm not on tip of tree. I'm using latest ffmpeg, but my main tree is sync'd to October 11. Let me fetch and retry.

Comment 9 by rtoy@chromium.org, Oct 16 2017

Weird. I still see the failure on ToT.  My gn args looks like yours except I have branding Chrome.

The ffmpeg roll landed early last week IIRC, and I don't recall issues with this test last week, but I'm not sure I was running all the tests (and with --skipped=ignore).
Ok, now hitting the failure, but it looks less likely to be ffmpeg given the above. Let me bisect real quick
Cc: -dalecur...@chromium.org chcunningham@chromium.org
Labels: -ReleaseBlock-Stable -M-63
Owner: dalecur...@chromium.org
Dale, handing this to you. Bisect points at the change you landed Friday

"Add support for discarding video frames post-decode."
https://chromium-review.googlesource.com/c/chromium/src/+/521757

Good news is that was after branch cut, so this shouldn't block stable. 
Labels: -Pri-1 M-64 Pri-2
Glad it's not the roll, thanks!
Ah, the edit list is generating skip samples which is overwritten by this line in mov.c:

https://cs.chromium.org/chromium/src/third_party/ffmpeg/libavformat/mov.c?l=6271

[mov,mp4,m4a,3gp,3g2,mj2 @ 0x939ba0] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x939ba0] ISO: File Type Major Brand: mp42
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x939ba0] Unknown dref type 0x206c7275 size 12
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x939ba0] Processing st: 0, edit list 0 - media time: 2112, duration: 441
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x939ba0] drop a frame at curr_cts: 0 @ 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x939ba0] drop a frame at curr_cts: 1024 @ 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x939ba0] skip 64 audio samples from curr_cts: 2048
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x939ba0] Before avformat_find_stream_info() pos: 4096 bytes read:4553 seeks:0 nb_streams:1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x939ba0] demuxer injecting skip 2048 / discard 0
[aac @ 0x93bc40] skip 2048 / discard 0 samples due to side data
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x939ba0] All info found
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x939ba0] After avformat_find_stream_info() pos: 4100 bytes read:4553 seeks:0 frames:1

The file decodes to 3072 frames ignoring edit lists and drops, edit list says drop 2112 samples -- so 960 is correct:

I sent a patch here, which I'll pick up as part of the ffmpeg roll this milestone:
http://ffmpeg.org/pipermail/ffmpeg-devel/2017-October/218042.html
Project Member

Comment 14 by bugdroid1@chromium.org, Oct 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c51b738e66d2480237ed8e693200f923b97cd2bc

commit c51b738e66d2480237ed8e693200f923b97cd2bc
Author: Dale Curtis <dalecurtis@chromium.org>
Date: Fri Oct 20 17:38:41 2017

Roll src/third_party/ffmpeg/ 3098b6a24..e4859f909 (2 commits)

https://chromium.googlesource.com/chromium/third_party/ffmpeg.git/+log/3098b6a24547..e4859f9094f2

$ git log 3098b6a24..e4859f909 --date=short --no-merges --format='%ad %ae %s'
2017-10-19 isasi lavf/mov.c: Fix parsing of edit list atoms with invalid elst entry count.
2017-10-16 dalecurtis Set start_pad correctly in mov_fix_index()

Created with:
  roll-dep src/third_party/ffmpeg

Bug:  775042 ,  774821 
Test: automatic test cases from listed bugs don't reproduce anymore.
Change-Id: I4e5a8733afefd1dddd623b050d5ba0555b1d0947
Tbr: chcunningham
Reviewed-on: https://chromium-review.googlesource.com/729219
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Chrome Cunningham <chcunningham@chromium.org>
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#510480}
[modify] https://crrev.com/c51b738e66d2480237ed8e693200f923b97cd2bc/DEPS

Status: Fixed (was: Assigned)

Sign in to add a comment