RESOLVED FIXED 137533
MediaPlayer::characteristicChanged() is not called when new tracks are found in SourceBufferPrivateAVFObjC
https://bugs.webkit.org/show_bug.cgi?id=137533
Summary MediaPlayer::characteristicChanged() is not called when new tracks are found ...
Ada Chan
Reported 2014-10-08 12:31:07 PDT
When new audio/video tracks are parsed in SourceBufferPrivateAVFObjC, I would expect MediaPlayer::characteristicsChanged() to be called since the media's characteristics (such as hasAudio, hasVideo) have changed. 1. Open a youtube video page showing HTML5 video. 2. Place a breakpoint in MediaPlayer::characteristicsChanged(). RESULTS: I don't see that called due to a change in hasAudio/hasVideo characteristics.
Attachments
Patch (3.54 KB, patch)
2014-10-08 13:31 PDT, Jer Noble
no flags
Patch for landing (108.96 KB, patch)
2014-10-11 00:55 PDT, Jer Noble
no flags
Patch (4.81 KB, patch)
2014-10-11 10:48 PDT, Jer Noble
no flags
Patch (4.81 KB, patch)
2014-10-11 23:23 PDT, Jer Noble
no flags
Follow up patch (3.07 KB, patch)
2014-10-13 14:20 PDT, Jer Noble
no flags
Jer Noble
Comment 1 2014-10-08 13:31:46 PDT
Darin Adler
Comment 2 2014-10-09 14:50:05 PDT
Comment on attachment 239491 [details] Patch No regression test possible?
Jer Noble
Comment 3 2014-10-10 23:48:12 PDT
(In reply to comment #2) > (From update of attachment 239491 [details]) > No regression test possible? A TestWebKitAPI unit test should be possible. I'm working on one now.
Jer Noble
Comment 4 2014-10-11 00:55:20 PDT
Created attachment 239668 [details] Patch for landing
Jer Noble
Comment 5 2014-10-11 10:48:07 PDT
Created attachment 239680 [details] Patch Also unregister for availability changes when the page is hidden (e.g., when in a background tab).
Jer Noble
Comment 6 2014-10-11 23:23:09 PDT
Eric Carlson
Comment 7 2014-10-12 08:31:43 PDT
(In reply to comment #6) > Created an attachment (id=239701) [details] > Patch I think you meant to attach this to bug 137633.
Jer Noble
Comment 8 2014-10-13 10:49:18 PDT
Andy Estes
Comment 9 2014-10-13 13:01:21 PDT
Looks like the new API test is timing out on both the Mavericks and Mountain Lion bots. For example: https://build.webkit.org/builders/Apple%20Mavericks%20Debug%20WK1%20%28Tests%29/builds/8217/steps/run-api-tests/logs/stdio
Jer Noble
Comment 10 2014-10-13 13:30:45 PDT
Oof. MSE is only enabled on Yosemite.
Jer Noble
Comment 11 2014-10-13 14:20:04 PDT
Reopening to attach new patch.
Jer Noble
Comment 12 2014-10-13 14:20:07 PDT
Created attachment 239744 [details] Follow up patch
Andy Estes
Comment 13 2014-10-13 14:22:43 PDT
Comment on attachment 239744 [details] Follow up patch View in context: https://bugs.webkit.org/attachment.cgi?id=239744&action=review > Tools/TestWebKitAPI/Tests/WebKit2/WKPageIsPlayingAudio.cpp:58 > + EXPECT_TRUE(JSValueIsBoolean(scriptContext, resultValue)); Won't this cause the test to fail on unsupported platforms?
Andy Estes
Comment 14 2014-10-13 14:24:19 PDT
Comment on attachment 239744 [details] Follow up patch View in context: https://bugs.webkit.org/attachment.cgi?id=239744&action=review >> Tools/TestWebKitAPI/Tests/WebKit2/WKPageIsPlayingAudio.cpp:58 >> + EXPECT_TRUE(JSValueIsBoolean(scriptContext, resultValue)); > > Won't this cause the test to fail on unsupported platforms? Oh never mind. Sigh. IsBoolean != ToBoolean.
WebKit Commit Bot
Comment 15 2014-10-13 18:16:28 PDT
Comment on attachment 239744 [details] Follow up patch Clearing flags on attachment: 239744 Committed r174667: <http://trac.webkit.org/changeset/174667>
WebKit Commit Bot
Comment 16 2014-10-13 18:16:32 PDT
All reviewed patches have been landed. Closing bug.
Jer Noble
Comment 17 2014-12-16 13:28:11 PST
Note You need to log in before you can comment on or make changes to this bug.