summaryrefslogtreecommitdiffstats
path: root/chromecast
Commit message (Collapse)AuthorAgeFilesLines
* Move base::FreeDeleter into its own header.dcheng2016-03-261-0/+1
| | | | | | | | | | Final blocker to wholly deleting base/memory/scoped_ptr.h. BUG=554298 Review URL: https://codereview.chromium.org/1837483003 Cr-Commit-Position: refs/heads/master@{#383417}
* [Chromecast] Remove resource tracker delegate checkhalliwell2016-03-251-1/+0
| | | | | | | | | | | This fires when the delegate tries to remove itself. Just remove, not convinced it's that useful. BUG= Review URL: https://codereview.chromium.org/1832043002 Cr-Commit-Position: refs/heads/master@{#383278}
* [Chromecast] Cleanup in media_codec_support.*servolk2016-03-253-26/+11
| | | | | | | | | | | Replaced outdated dependency on net/base/mime_util.h, now we are using media/base/mime_util.h instead. Also updated AC3/EAC3 codec ids in chromecast::media::IsCodecSupported and removed outdated checks for codec ids supported by mainstream Chrome. Review URL: https://codereview.chromium.org/1827213002 Cr-Commit-Position: refs/heads/master@{#383215}
* [Chromecast] Centralise tracking of media resource usagehalliwell2016-03-2418-171/+391
| | | | | | | | | | | | | | | | | | | | | See linked bug for motivation: new idea is that we will consider CDM instances as potential users of vendor media code (via OEMCrypto APIs) and will also call CastMediaShlib::Finalize when relinquishing media resources (symmetrically, Initialize when acquiring). This means media resource relinquish needs to wait for CDM destruction, similarly to how it waits for CMA pipelines today, so media pipeline client is removed in favour of a more general MediaResourceTracker. All Initialize/Finalize calls should be made from here now in order to keep track of 'initialized' status. Also see internal CL for a complete picture. BUG=internal b/26022500 Review URL: https://codereview.chromium.org/1824583002 Cr-Commit-Position: refs/heads/master@{#383101}
* [chromecast] Pass media task runner to VideoPlaneController.alokp2016-03-2312-61/+81
| | | | | | | | | | | This required making VideoPlaneController non-singleton and passed around wherever required, which is also a good change. BUG=594234 Review URL: https://codereview.chromium.org/1824723003 Cr-Commit-Position: refs/heads/master@{#382877}
* [Chromecast] Fix some thread-safety issues with loopback audiokmackay2016-03-232-14/+27
| | | | | | | | | | | | | Previously, the loopback observer had no way of knowing when it was safe to be deleted. Now it can use the OnRemoved() method to determine when the CMA backend will no longer call any methods on the observer. BUG= internal b/27564892 Review URL: https://codereview.chromium.org/1816213002 Cr-Commit-Position: refs/heads/master@{#382868}
* [Chromecast] Add optional audio loopback support to the media shlibkmackay2016-03-205-9/+93
| | | | | | | | | | | | This provides an API to get loopback audio (ie, mixed audio data from just before it is output), and an implementation for the ALSA CMA backend. This API is not required to be implemented by OEMs. BUG= internal b/27564892 Review URL: https://codereview.chromium.org/1790623002 Cr-Commit-Position: refs/heads/master@{#382235}
* [Chromecast] Set cast_media_unittests to run serially.mbjorge2016-03-192-1/+5
| | | | | | | | BUG=None Review URL: https://codereview.chromium.org/1817533004 Cr-Commit-Position: refs/heads/master@{#382155}
* [chromecast] Start deprecating MediaMessageLoop.alokp2016-03-197-65/+99
| | | | | | | | | | | Converted CastBrowserCdmFactory and CmaMessageFilterHost by passing the media task runner in constructor. BUG=594234 Review URL: https://codereview.chromium.org/1814263002 Cr-Commit-Position: refs/heads/master@{#382141}
* Implement 'margin' for keeping WebVTT cues in title-safe areahalliwell2016-03-181-0/+3
| | | | | | | | | | | | | | | | | | WebVTT spec describes a user-agent-defined margin for keeping cues within the title-safe area. Previously, the margin was hardcoded to 0, which can place cues in invisible positions when overscan is present. Note, WebVTT spec also describes an 'edge-margin', which is not implemented here. For horizontal text, margin is for top+bottom and therefore typically affects all subtitles - whereas edge-margin is for left/right and therefore only affects very long text lines. BUG=503233 Review URL: https://codereview.chromium.org/1766383003 Cr-Commit-Position: refs/heads/master@{#382023}
* [Chromecast] Improve rendering delay accuracy by tracking partial sampleskmackay2016-03-172-7/+10
| | | | | | | | | | | | | The resampler can partially consume audio samples (since when resampling, one output sample can correspond to fractional input samples). By keeping track of the partially-consumed samples, we can improve the accuracy of the estimated rendering delay. BUG= Review URL: https://codereview.chromium.org/1809203003 Cr-Commit-Position: refs/heads/master@{#381832}
* Use monotonic raw timestamp by default except for x86/64mengyu2016-03-161-3/+4
| | | | | | | | | | | | | | | | use_alsa_monotonic_raw_tstamps flag should be set to true for all audio products since alsa-lib is upgraded to 1.0.29 which added monotonic raw timestamp feature. Setting it to true so we don't need to add this flag to every internal audio targets and C4A partners. BUG=internal b/27654854 TEST=build pepperoni and make sure snd_pcm_sw_params_set_tstamp_type is called. Review URL: https://codereview.chromium.org/1804763002 Cr-Commit-Position: refs/heads/master@{#381534}
* [Chromecast] Allow the PTS to advance a little bit while pausedkmackay2016-03-151-2/+5
| | | | | | | | | | | In some backends, the PTS continues to advance for a small amount while paused. For now, don't make this a test failure. BUG= internal b/27613212 Review URL: https://codereview.chromium.org/1798183003 Cr-Commit-Position: refs/heads/master@{#381136}
* media config: expand is_encrypted to a struct.dougsteed2016-03-1218-40/+318
| | | | | | | | | | | | | | | | Provide more complete encryption metadata, rather than just a bool. EncryptionScheme also allows specification of the mode and the pattern, as will be allowed by CENC (ISO's Common Encryption standard), 3rd Edition. BUG=568326 Committed: https://crrev.com/c9d2206c62f65e29b141e08df2b2dcb88f54162f Cr-Commit-Position: refs/heads/master@{#380710} Review URL: https://codereview.chromium.org/1490613005 Cr-Commit-Position: refs/heads/master@{#380791}
* [Chromecast] Add metrics for logging platform A/V bitrate estimates.jasonroberts2016-03-116-2/+69
| | | | | | | | BUG=internal b/26496758 Review URL: https://codereview.chromium.org/1776353006 Cr-Commit-Position: refs/heads/master@{#380787}
* [Chromecast] Make sure that pause tests use 'sync PTS' modekmackay2016-03-111-2/+4
| | | | | | | | BUG= internal b/27613212 Review URL: https://codereview.chromium.org/1786213002 Cr-Commit-Position: refs/heads/master@{#380741}
* Revert of media config: expand is_encrypted to a struct. (patchset #23 ↵alexmos2016-03-1118-318/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:440001 of https://codereview.chromium.org/1490613005/ ) Reason for revert: Appears to be breaking compile on Win x64 GN (dbg): https://build.chromium.org/p/chromium.win/builders/Win%20x64%20GN%20%28dbg%29/builds/19428 Output: media_type_converters.obj : error LNK2019: unresolved external symbol "public: __cdecl media::EncryptionScheme::Pattern::Pattern(unsigned int,unsigned int)" (??0Pattern@EncryptionScheme@media@@QEAA@II@Z) referenced in function "public: static class media::EncryptionScheme::Pattern __cdecl mojo::TypeConverter<class media::EncryptionScheme::Pattern,class mojo::InlinedStructPtr<class media::interfaces::Pattern> >::Convert(class mojo::InlinedStructPtr<class media::interfaces::Pattern> const &)" (?Convert@?$TypeConverter@VPattern@EncryptionScheme@media@@V?$InlinedStructPtr@VPattern@interfaces@media@@@mojo@@@mojo@@SA?AVPattern@EncryptionScheme@media@@AEBV?$InlinedStructPtr@VPattern@interfaces@media@@@2@@Z) media_type_converters.obj : error LNK2019: unresolved external symbol "public: __cdecl media::EncryptionScheme::Pattern::~Pattern(void)" (??1Pattern@EncryptionScheme@media@@QEAA@XZ) referenced in function "public: static class media::EncryptionScheme __cdecl mojo::TypeConverter<class media::EncryptionScheme,class mojo::StructPtr<class media::interfaces::EncryptionScheme> >::Convert(class mojo::StructPtr<class media::interfaces::EncryptionScheme> const &)" (?Convert@?$TypeConverter@VEncryptionScheme@media@@V?$StructPtr@VEncryptionScheme@interfaces@media@@@mojo@@@mojo@@SA?AVEncryptionScheme@media@@AEBV?$StructPtr@VEncryptionScheme@interfaces@media@@@2@@Z) ./media_library.dll : fatal error LNK1120: 2 unresolved externals Original issue's description: > media config: expand is_encrypted to a struct. > > Provide more complete encryption metadata, rather than > just a bool. EncryptionScheme also allows specification > of the mode and the pattern, as will be allowed by > CENC (ISO's Common Encryption standard), 3rd Edition. > > BUG=568326 > > Committed: https://crrev.com/c9d2206c62f65e29b141e08df2b2dcb88f54162f > Cr-Commit-Position: refs/heads/master@{#380710} TBR=dalecurtis@chromium.org,ddorwin@chromium.org,halliwell@chromium.org,lcwu@chromium.org,raymes@chromium.org,xhwang@chromium.org,yucliu@chromium.org,dougsteed@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=568326 Review URL: https://codereview.chromium.org/1786733004 Cr-Commit-Position: refs/heads/master@{#380732}
* media config: expand is_encrypted to a struct.dougsteed2016-03-1118-40/+318
| | | | | | | | | | | | | Provide more complete encryption metadata, rather than just a bool. EncryptionScheme also allows specification of the mode and the pattern, as will be allowed by CENC (ISO's Common Encryption standard), 3rd Edition. BUG=568326 Review URL: https://codereview.chromium.org/1490613005 Cr-Commit-Position: refs/heads/master@{#380710}
* [Chromecast] Enable crash reporting for Cast utility processeskmackay2016-03-112-2/+4
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/1779263002 Cr-Commit-Position: refs/heads/master@{#380535}
* [Chromecast] Fix potential nullptr dereference.derekjchow2016-03-111-1/+4
| | | | | | | | | | | | | | | | | Guard call to SetStreamTypeVolume in MediaPipelineBackendWrapper with a check for audio_decoder_wrapper_. An audio decoder wrapper is not guarenteed to be initialized. Also adds DCHECKs to enforce correct API usage of Create*Decoder and Initialize. R=halliwell@chromium.org BUG=internal b/27596803 TEST=Play video content with no audio track Review URL: https://codereview.chromium.org/1786563002 Cr-Commit-Position: refs/heads/master@{#380522}
* Revert of Add the missing asset file cast_shell.pak back (patchset #3 ↵alokp2016-03-101-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:40001 of https://codereview.chromium.org/1776933002/ ) Reason for revert: Break chromecast gyp build: "unknown target 'assets/cast_shell.pak'" Original issue's description: > Add the missing asset file cast_shell.pak back > > All files under assets directory will be removed when building cast_shell_icudata target. We have to make sure all the asset files must be collected here. > > BUG=593277 > > Committed: https://crrev.com/c058232e6063829ab7db5dab45bdbdbb988b06d0 > Cr-Commit-Position: refs/heads/master@{#380202} TBR=michaelbai@chromium.org,halliwell@chromium.org,sanfin@chromium.org,tsunghung@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=593277 Review URL: https://codereview.chromium.org/1782133003 Cr-Commit-Position: refs/heads/master@{#380440}
* [Chromecast] Add metrics for logging buffering related Cast Events.jasonroberts2016-03-092-4/+19
| | | | | | | | BUG=internal b/26496758 Review URL: https://codereview.chromium.org/1781743002 Cr-Commit-Position: refs/heads/master@{#380263}
* Add the missing asset file cast_shell.pak backtsunghung2016-03-091-1/+3
| | | | | | | | | | All files under assets directory will be removed when building cast_shell_icudata target. We have to make sure all the asset files must be collected here. BUG=593277 Review URL: https://codereview.chromium.org/1776933002 Cr-Commit-Position: refs/heads/master@{#380202}
* [Chromecast] Add method to log Cast Event with value.jasonroberts2016-03-092-0/+29
| | | | | | | | BUG=internal b/27553453 Review URL: https://codereview.chromium.org/1773333002 Cr-Commit-Position: refs/heads/master@{#380180}
* [Chromecast] Add support for logging platform playing states.jasonroberts2016-03-093-0/+28
| | | | | | | | | | This will be used by analytics for the video quality dashboards. BUG=internal b/26496758 Review URL: https://codereview.chromium.org/1772093002 Cr-Commit-Position: refs/heads/master@{#380048}
* [chromecast] Add cast_shell --accept-resource-provider switch and a utility ↵jyw2016-03-096-3/+129
| | | | | | | | | | | | | | | | function, GetSwitchValueBoolean. Also has the cast_shell flag --accept-resource-provider imply --alsa-check-close-timeout=0 unless the close timeout is explicitly overridden. BUG=internal b/26091363 TEST=pepperoni build cast_base_unittests --gtest_filter=ChromecastSwitchesTest.* Review URL: https://codereview.chromium.org/1767603003 Cr-Commit-Position: refs/heads/master@{#380024}
* [Chromecast] Allow recursive dependencies for cast_test_groups.slan2016-03-081-0/+19
| | | | | | | | | | | | | | | Forward invoker dependencies such that a cast_test_group can depend on another cast_test_group. Enforce these dependencies for the build steps as well as the filter generation. Bug: b/27303049 Test: Filters file is correct. BUG= Review URL: https://codereview.chromium.org/1776103003 Cr-Commit-Position: refs/heads/master@{#379923}
* [Chromecast] Build dependency clean up for media_pipeline_backend_manager.tianyuwang2016-03-081-4/+17
| | | | | | | | BUG=internal b/26163065 Review URL: https://codereview.chromium.org/1770873003 Cr-Commit-Position: refs/heads/master@{#379874}
* Plumb DemuxerStream::EnableBitstreamConverter through mojo pipeline.alokp2016-03-081-0/+2
| | | | | | | | BUG=592114 Review URL: https://codereview.chromium.org/1774763002 Cr-Commit-Position: refs/heads/master@{#379856}
* [Chromecast] Remove unused code in cast_content_renderer_client.derekjchow2016-03-082-36/+0
| | | | | | | | | | | | | The need for the AddRendererNativeBindings has been removed internally. Thus, we can remove this interface as well as CastRenderViewObserver. BUG=None R=alokp@chromium.org Review URL: https://codereview.chromium.org/1769973003 Cr-Commit-Position: refs/heads/master@{#379758}
* [Chromecast] Stubs for creating a Cast utility processkmackay2016-03-078-0/+80
| | | | | | | | BUG= internal b/27383427 Review URL: https://codereview.chromium.org/1734343005 Cr-Commit-Position: refs/heads/master@{#379591}
* CookieStore: Remove reference counting.mmenke2016-03-072-9/+9
| | | | | | | | | | | | | This has caused a number of issues in the past, and having defined lifecycles for objects makes code easier to reason about and maintain. BUG=472744 TBR=alexclarke@chromium.org, creis@chromium.org Review URL: https://codereview.chromium.org/1701063002 Cr-Commit-Position: refs/heads/master@{#379588}
* [Chromecast] fix gn buildtianyuwang2016-03-052-3/+1
| | | | | | | | BUG=None Review URL: https://codereview.chromium.org/1765313002 Cr-Commit-Position: refs/heads/master@{#379452}
* Unify media track info reporting on a demuxer levelservolk2016-03-051-1/+6
| | | | | | | | This will work for both FFmpegDemuxer and MSE/ChunkDemuxer Review URL: https://codereview.chromium.org/1727243002 Cr-Commit-Position: refs/heads/master@{#379449}
* [Chromecast] Fix lint error.tianyuwang2016-03-052-1/+5
| | | | | | | | BUG=None Review URL: https://codereview.chromium.org/1767653003 Cr-Commit-Position: refs/heads/master@{#379432}
* [Chromecast] Add volume control for different audio stream types.tianyuwang2016-03-0411-2/+434
| | | | | | | | BUG=internal b/26163065 Review URL: https://codereview.chromium.org/1733203002 Cr-Commit-Position: refs/heads/master@{#379363}
* [chromecast] Disabled component death tests on Android TVsanfin2016-03-041-0/+2
| | | | | | | | | | | | These tests are trying to fork processes, which fails on Android. Change-Id: Ic8e5f5b2835a70a02d26a809d009983813f1d3ba BUG=internal b/27480970 Review URL: https://codereview.chromium.org/1763903002 Cr-Commit-Position: refs/heads/master@{#379185}
* [Chromecast] Create AvSettings::Event::HDMI_ERROR event.almasrymina2016-03-041-0/+3
| | | | | | | | | Test=Build BUG=internal b/27274761, b/27274363 Review URL: https://codereview.chromium.org/1762123002 Cr-Commit-Position: refs/heads/master@{#379177}
* Change scoped_ptr to be a type alias for std::unique_ptr on OS_LINUX.dcheng2016-03-031-1/+1
| | | | | | | | | | BUG=554298,579269,579270 R=danakj@chromium.org,ddorwin@chromium.org,lcwu@chromium.org,rdvelin.cronin@chromium.org,satorux@chromium.org TBR=thakis@chromium.org,yoshiki@chromium.org Review URL: https://codereview.chromium.org/1750143004 Cr-Commit-Position: refs/heads/master@{#379108}
* [Chromecast] Fix some more media unit test issueskmackay2016-03-031-19/+29
| | | | | | | | | | | | * Don't set playback rate on "ignore PTS" streams. * Don't check PTS tracking on "ignore PTS" streams. * Sound effects streams must be "ignore PTS". BUG= internal b/27168097 Review URL: https://codereview.chromium.org/1762703003 Cr-Commit-Position: refs/heads/master@{#379061}
* Add tests for CMA backend GetRenderingDelay accuracy.kmackay2016-03-023-0/+377
| | | | | | | | | | | | Added MultizoneBackendTest to test that the backend's GetRenderingDelay call is accurate enough for good multizone playback at various sample rates. BUG= internal b/26496802 Review URL: https://codereview.chromium.org/1666493002 Cr-Commit-Position: refs/heads/master@{#378846}
* Replaced apk_command_line with adb_cast_shell_command_line.sanfin2016-03-021-36/+0
| | | | | | | | | | | The new script uses the adb_command_line.py script in build/android and is therefore compatible with the --device argument. BUG= internal b/26406816 Review URL: https://codereview.chromium.org/1750393003 Cr-Commit-Position: refs/heads/master@{#378780}
* mojo: Sketch a profile application.erg2016-03-021-0/+1
| | | | | | | | | | | | | | | | This application is bound to an individual profile data dir. While it isn't yet sandboxed to that location, that's our long term intention with this design. This application colocates the Profile service and the LevelDB service so that these will be in the same process. The way we register a Browser Context to a user id works for now, but will need to be redone once we start spawning processes for the Profile. BUG=585587 Review URL: https://codereview.chromium.org/1741953002 Cr-Commit-Position: refs/heads/master@{#378620}
* media: Reject pending CDM promise during destruction.xhwang2016-03-011-2/+7
| | | | | | | | | | | | There are legit cases where a CDM promise could be destructed before it's fulfilled. For example, a promise could be bound into a callback and the callback is dropped. BUG=585356 Review URL: https://codereview.chromium.org/1729063003 Cr-Commit-Position: refs/heads/master@{#378588}
* [chromecast] Combine audio and video eos notification to report end of playback.alokp2016-03-012-2/+22
| | | | | | | | | | | | | | | CastRenderer, which is only used for media playback using mojo pipeline, will replace CmaRenderer. Some of the logic in CmaRenderer, like this one, needs to be duplicated here. Alternative would be move this logic to MediPipelineImpl, but that would require touching a lot code including IPC, which will be deprecated soon. I have decided make a local change in CastRenderer for now. It might be moved elsewhere when CmaRenderer is deprecated. BUG=571155 Review URL: https://codereview.chromium.org/1753513002 Cr-Commit-Position: refs/heads/master@{#378579}
* [chromecast] Fix build with enable-mojo-media=true.alokp2016-03-011-1/+1
| | | | | | | | TBR=slan Review URL: https://codereview.chromium.org/1746973003 Cr-Commit-Position: refs/heads/master@{#378401}
* [Chromecast] Clean up some logging in CastScreenhalliwell2016-03-011-1/+0
| | | | | | | | | | | | | | GetWindowAtScreenPoint recently started getting called: https://codereview.chromium.org/1433153002 It's fine for us to return nullptr, but the 'Not implemented' error is just log spam. BUG= Review URL: https://codereview.chromium.org/1744323002 Cr-Commit-Position: refs/heads/master@{#378351}
* [chromecast] Add video support to mojo media pipeline.alokp2016-02-291-2/+22
| | | | | | | | BUG=571155 Review URL: https://codereview.chromium.org/1740803003 Cr-Commit-Position: refs/heads/master@{#378294}
* [Chromecast] Clean up //chromecast/base:cast_version.slan2016-02-292-10/+125
| | | | | | | | | | | Replaces (most of the) dummy values used to create version.h with correct values taken from the environment. BUG=None Review URL: https://codereview.chromium.org/1727273004 Cr-Commit-Position: refs/heads/master@{#378283}
* [Chromecast] Don't run death tests when DCHECK is disabledkmackay2016-02-271-0/+3
| | | | | | | | BUG= internal b/27364008 Review URL: https://codereview.chromium.org/1740263003 Cr-Commit-Position: refs/heads/master@{#378114}