Firefox OS/Stingray
Jump to navigation
Jump to search
Full Query
The Project
- The Stingray project is an initiative to enable Firefox OS platform to run on larger screen TV
Key Mozilla Team Members
- Product Marketing: Jane Hsu
- PM: Joe Cheng
- EPM: Jenny Liu
- UX: Mike Tsai / Hunter Luo
- Engineering: Keven Kuo
- Gecko
- Marco Chen
- Shian-Yow Wu
- Gene Lian
- Shih-Chiang Chien
- Gina Yeh
- Shelly Lin
- Solomon Chiu
- Gaia
- Evelyn Hung
- John Hu
- Rex Lee
- Gary Chen
- Luke Chang
- Tzu-lin Huang
- Sherman Chen
Ongoing work
- Scope is still being determined and there is a master meta bug created
- bug 980768 [Stingray] TV support
- TV Components Overview
Gaia
System Architecture
2-layered widget support- bug 983001IAC protocol- bug 983002Widget iframe management by system app- bug 983003Custom homescreen app with widget enabled- bug 983004Sample widgets- bug 983006Blocking all inputs to widgets- bug 983007- A prototype of 2-layered widget can be found at https://github.com/luke-chang/gaia/tree/TV_arch1
- Hybrid Widget Approach (more: https://wiki.mozilla.org/FirefoxOS/Stingray/Hybrid_Widget_Approach)
- meta bug - bug 1002336
- Homescreen Base - bug 1002344
- template -
bug 1002377landed to master by Luke Chang - utilities - an algorithm to know nearest element from each direction - bug 1002350
- utilities - selection border -
bug 1006378landed to master by John Hu - applications -
bug 1002355landed to master by Luke Chang - app list - <strike<bug 1002358 landed to master by Luke Chang
- template -
- Widget Editor - bug 1002337
- layout editor -
bug 1002339landed to master by John Hu - widget editor -
bug 1002341landed to master by John Hu - persistence module -
bug 1002343landed to master by John Hu
- layout editor -
- Widget Manager -
bug 1002345landed to master by Rex Lee - Enable widget support on homescreen -
bug 1009444landed to master by John Hu - Sample Widgets - bug 1002348
Applications
- DLNA support - bug 984108
- Components Diagram
- SSDP advertising Service - bug 751172
- Http Live Streaming
- m3u8 parser
- media player with using Media Source Extensions API
Others
- Build system supports multiple devices -
bug 979784landed to master by Gary Chen- Step 1. Add 'GAIA_DEVICE_TYPE' flag in gaia build system.
- Step 2. New apps.list structure for multiple-devices.
- Step 3. Overwrite common-setting.json from build/GAIA_DEVICE_TYPE/settings.js
- Step 4. Remove distribution_tablet folder from gaia code base. bug 996461
- Step a. Let homescreen APP's build system support 'GAIA_DEVICE_TYPE' flag.
- Step b. Let wallpaper APP's build system support 'GAIA_DEVICE_TYPE' flag.
Web API
- TV Manager Web API - bug 998872
- It is on going to polish a first version then open to public space. ex: Bugzilla and dev-webapi@lists.mozilla.org.
- Input Ports Web API - bug ?
- The purpose is to let web app show media stream and detect plug-in status from HDMI/AV cable.
- It is on going to discuss for leveraging getUserMedia series Web API.
- HTMLMediaElement.audio/videoTracks Web API - bug 744896
- MediaStream
- Implement Track related methods and events in MediaStream.webidl - bug 985265
- Create a new type of MediaStreamTrack for text and metadata - bug 987501
- Expose a client UDP datagram socket API to web application - bug 745283
Gecko
Media
- DOM Level
- Support HTMLMediaElement.audioTracks and videoTracks - bug 744896
- Probably won't implement the audio mixing and video selecting in our decoding pipeline.
- How to map AudioStreamTrack to AudioTrack? (Video as well)
- Proposal 1: Change the spec of MediaStreamTrack
- https://groups.google.com/forum/?hl=en#!topic/mozilla.dev.media/FOOHGdwD16Y
- Proposal 2: Implement the mapping internally
- Support HTMLMediaElement.audioTracks and videoTracks - bug 744896
- Implement Track related methods and events in MediaStream.webidl - bug 985265
- Not necessary for this TV project, but would benefit the user experience of using front/end camera with getUserMedia a lot.
- Implement Track related methods and events in MediaStream.webidl - bug 985265
- Internal Only
- Add a new kind of MediaStream to by pass our media pipeline - bug 987498
- aka. HWOverlayMediaStream.
- Construct a new kind of MediaStream, this would be an abstract layer, indicating its media resource is fetched from a particular hardware driver.
- By pass our MediaStreamGraph pipeline, and hook up its listeners with HAL interface specific to the platform.
- Add a new kind of MediaStream to by pass our media pipeline - bug 987498
- Create a new type of MediaStreamTrack for text and metadata - bug 987501
- In order to let MediaStream handle tracks such as subtitles, captions, metadata.
- Create a new type of MediaStreamTrack for text and metadata - bug 987501
- HW Key Management - bug 989198
- Capturing & bubbling phase between system app & it's nested iframe. Wiki
- Work with Keyboard app.
- How to detect which keys are supported by platform?
- Allow nested oop <iframe mozbrowser> without nested content processes - bug 879475
- Just be transferred to stream 3.
- To enable NPAPI
V2.1 Scope
ID | Summary | Component | Status | Resolution | Assigned to | Depends on | Blocks | Whiteboard | Feature b2g | Blocking b2g | Target milestone |
---|---|---|---|---|---|---|---|---|---|---|---|
744896 | [Stingray] Support HTMLMediaElement.audioTracks and videoTracks | Audio/Video | VERIFIED | FIXED | Shelly Lin [:shelly] | 1000944, 1077274 | 778617, 893309, 1022524, 1026351, 1031141 | [FT:Stream3][2.1-feature-qa+] | No feature_b2g | --- | mozilla33 |
745283 | Expose a client UDP datagram socket API to web applications | DOM: Device Interfaces | VERIFIED | FIXED | Shih-Chiang Chien [:schien] (UTC+8) (use ni? plz) | 1038373, 750563, 839757, 869869, 1080096, 1085309 | 1056444, 1896984, 751172, 984108, 1031141, 1060250 | [FT:Stream3][dependency: marketplace-partners][2.1-feature-qa+] | No feature_b2g | --- | 2.1 S3 (29aug) |
812403 | Support wake locks in nested content processes | Hardware Abstraction Layer (HAL) | RESOLVED | FIXED | Kershaw Chang [:kershaw] | 761935, 1020135, 1033984 | [nested-oop][FT:Stream3] | No feature_b2g | --- | 2.1 S1 (1aug) | |
983001 | [Stingray][Meta] two-layered widget support | Gaia | RESOLVED | INVALID | 983002, 983003, 983004, 983006, 983007 | [FT:Stream3] | No feature_b2g | --- | --- | ||
983002 | [Stingray][Gaia] IAC protocol for widget | Gaia | RESOLVED | INVALID | Tzu-Lin Huang [:dwi2][:tzhuang] | 907068 | 983001, 983003, 983004, 983006, 983007 | [FT:Stream3] | No feature_b2g | --- | --- |
983003 | [Stingray][System] widget support in system app | Gaia::System | RESOLVED | INVALID | KM Lee [:rexboy] (inactivate after Sep. 22) | 983002 | 983001, 983006 | [FT:Stream3] | No feature_b2g | --- | --- |
983004 | [Stingray][Homescreen] custom homescreen with widget enabled | Gaia::Homescreen | RESOLVED | INVALID | 983002 | 983001 | [FT:Stream3] | No feature_b2g | --- | --- | |
983006 | [Stingray][Widget] sample widgets | Gaia | RESOLVED | INVALID | 983002, 983003 | 983001 | [FT:Stream3] | No feature_b2g | --- | --- | |
983007 | [Stingray][System] Input event routing for widgets | Gaia::System | RESOLVED | INVALID | 983002 | 983001 | [FT:Stream3] | No feature_b2g | --- | --- | |
983596 | [Stingray] Enable unit-test and integration-test for TV build on Travis | Gaia | RESOLVED | WONTFIX | 1006357 | 980768 | [FT:Stream3] | No feature_b2g | --- | --- | |
1002337 | [Stingray][Meta] Widget Editor for Homescreen | Gaia::Homescreen | RESOLVED | FIXED | John Hu [:johnhu][:johu][:醬糊小弟] | 1002339, 1002341, 1002343, 1002377, 1010092, 1013036 | 1002336 | [FT:Stream3] | No feature_b2g | --- | --- |
1002339 | [Stingray] layout editor for stingray | Gaia::Homescreen | RESOLVED | FIXED | John Hu [:johnhu][:johu][:醬糊小弟] | 1002337, 1002341, 1013036 | [FT:Stream3] | No feature_b2g | --- | --- | |
1002341 | [Stingray] widget editor implementation | Gaia::Homescreen | RESOLVED | FIXED | John Hu [:johnhu][:johu][:醬糊小弟] | 1002339, 1002344, 1009379, 1010092 | 1002337, 1002343, 1009444 | [FT:Stream3] | No feature_b2g | --- | --- |
1002343 | [Stingray] persistent module of widget editor | Gaia::Homescreen | RESOLVED | FIXED | John Hu [:johnhu][:johu][:醬糊小弟] | 1002341 | 1002337, 1009444 | [FT:Stream3] | No feature_b2g | --- | --- |
1002344 | [Stingray][Meta] Create a new homescreen app with basic functionality | Gaia::Homescreen | RESOLVED | FIXED | Luke Chang [:lchang] (inactive) | 1002355, 1002358, 1002377, 1006378 | 1002336, 1002341 | [FT:Stream3] | No feature_b2g | --- | --- |
1002345 | [Stingray] widget life-cycle management | Gaia::Homescreen | RESOLVED | FIXED | KM Lee [:rexboy] (inactivate after Sep. 22) | 1002377 | 1002336, 1009444 | [FT:Stream3] | No feature_b2g | --- | --- |
1002350 | [Stingray] An algorithm for finding the nearest element on 2D plane | Gaia::Homescreen | RESOLVED | INVALID | Luke Chang [:lchang] (inactive) | 1013040 | [FT:Stream3] | No feature_b2g | --- | --- | |
1002351 | [Stingray][Meta][Build] build system for stingray | Gaia::Build | RESOLVED | DUPLICATE | [FT:Stream3] | No feature_b2g | --- | --- | |||
1002355 | [Stingray] A helper to wrap functions of mozApps.mgmt | Gaia::Homescreen | RESOLVED | FIXED | Luke Chang [:lchang] (inactive) | 1002344, 1002358 | [FT:Stream3] | No feature_b2g | --- | --- | |
1002358 | [Stingray] App List Implementation | Gaia::Homescreen | RESOLVED | FIXED | Luke Chang [:lchang] (inactive) | 1002355, 1009379 | 1002344 | [FT:Stream3] | No feature_b2g | --- | --- |
1002360 | [Stingray][Build] support customizable homescreen url | Gaia::Build | RESOLVED | DUPLICATE | GaryChen [:GaryChen][:PYChen][:gchen][:陳柏宇] | 979784 | [FT:Stream3] | No feature_b2g | --- | --- | |
1002377 | [Stingray] A template for the homescreen-stingray app | Gaia::Homescreen | RESOLVED | FIXED | Luke Chang [:lchang] (inactive) | 1002337, 1002344, 1002345 | [FT:Stream3] | No feature_b2g | --- | --- | |
1002823 | [Stingray] Add a new kind of image layer without graphic buffer for overlaying video input | Graphics: Layers | RESOLVED | FIXED | Chiajung Hung [:chiajung] | 980768, 987498, 1026358, 1049296 | [FT:Stream3] | No feature_b2g | --- | mozilla34 | |
1002895 | [Stingray] Make homescreen not OOP when GAIA_DEVICE_TYPE=tv | Gaia::System | RESOLVED | WONTFIX | GaryChen [:GaryChen][:PYChen][:gchen][:陳柏宇] | 1002336 | [FT:Stream3] | No feature_b2g | --- | --- | |
1005818 | A new 'embed-widgets' permission exposing to privileged apps for solving widget case. | General | VERIFIED | FIXED | Junior [inactive] | 980929, 1002336, 1031141, 1043110, 1052328, 1052334, 1053724 | [FT:Stream3][2.1-feature-qa+] | No feature_b2g | --- | 2.1 S3 (29aug) | |
1006378 | [Stingray] Add selection border support to homescreen-stingray | Gaia::Homescreen | RESOLVED | FIXED | John Hu [:johnhu][:johu][:醬糊小弟] | 1002344 | [FT:Stream3] | No feature_b2g | --- | --- | |
1007079 | [Stingray] enable all tests of homescreen-stingray when bug 1006357 is fixed | Gaia::Homescreen | RESOLVED | FIXED | John Hu [:johnhu][:johu][:醬糊小弟] | 1006357 | [FT:Stream3] | No feature_b2g | --- | --- | |
1008852 | [Stingray] the unit tests for selectRect in selection_border_test.js is always failed | Gaia::Homescreen | RESOLVED | FIXED | John Hu [:johnhu][:johu][:醬糊小弟] | [FT:Stream3] | No feature_b2g | --- | --- | ||
1009379 | [Stingray] The naming of "AppEntryPoint" object in applications.js is inconsistent | Gaia::Homescreen | RESOLVED | FIXED | Luke Chang [:lchang] (inactive) | 1002341, 1002358, 1010092 | [FT:Stream3] | No feature_b2g | --- | --- | |
1009444 | [Stingray] initialize widgets based on the result of widget editor | Gaia::Homescreen | RESOLVED | FIXED | John Hu [:johnhu][:johu][:醬糊小弟] | 1002341, 1002343, 1002345 | 1002336 | [FT:Stream3] | No feature_b2g | --- | --- |
1010092 | [Stingray] replace origin variable as manifestURL in layout editor | Gaia::Homescreen | RESOLVED | FIXED | Tzu-Lin Huang [:dwi2][:tzhuang] | 1009379 | 1002337, 1002341 | [FT:Stream3] | No feature_b2g | --- | --- |
1012556 | [Stingray] Can't launch apps from App List | Gaia::Homescreen | RESOLVED | FIXED | Luke Chang [:lchang] (inactive) | 1002336 | [FT:Stream3] | No feature_b2g | --- | --- | |
1013036 | [Stingray] Static elements on homescreen | Gaia::Homescreen | RESOLVED | FIXED | Luke Chang [:lchang] (inactive) | 1002339 | 1002337 | [FT:Stream3] | No feature_b2g | --- | --- |
1014418 | Dispatching hardware button event in Gaia | Gaia::System | RESOLVED | FIXED | Tzu-Lin Huang [:dwi2][:tzhuang] | 989198, 1093955, 1103339, 1106818, 1106844 | 1026354, 1038073, 1094066, 1096146, 1097814, 1108447 | [FT:Stream3] | No feature_b2g | --- | 2.1 S3 (29aug) |
1020172 | Manage TabParent in chrome process | DOM: Content Processes | RESOLVED | FIXED | Kershaw Chang [:kershaw] | 1236257 | 1020135, 1020157, 1020179, 1020186, 1020196, 1026419, 1091336 | [nested-oop][FT:Stream3] | No feature_b2g | --- | mozilla36 |
1020204 | Allow creating nested oop MozApp iframe | General | RESOLVED | FIXED | Kershaw Chang [:kershaw] | 1046033 | 1020135, 1033984 | [nested-oop][FT:Stream3] | No feature_b2g | --- | 2.1 S2 (15aug) |
1022524 | Set up audio track and video track information for Ogg files | Audio/Video | RESOLVED | FIXED | Kilik Kuo [:kikuo] (inactive) | 744896 | 1026351, 1058444 | [FT:Stream3] | No feature_b2g | --- | mozilla35 |
1033984 | Nested-OOP support for v2.1 | DOM: Content Processes | VERIFIED | FIXED | Marco Chen [:mchen] | 812403, 1020204 | 1020135, 1031141 | [FT:Stream3][2.1-feature-qa+] | No feature_b2g | --- | 2.1 S3 (29aug) |
1038061 | Support speech recognition on specific media stream | DOM: Core & HTML | RESOLVED | FIXED | Shih-Chiang Chien [:schien] (UTC+8) (use ni? plz) | 1032117 | [FT:Stream3] | No feature_b2g | --- | mozilla33 | |
1038073 | Extend UITest app to be able to do hardware buttons testing | Gaia | RESOLVED | FIXED | John Hu [:johnhu][:johu][:醬糊小弟] | 989198, 1014418 | [FT:Stream3] | No feature_b2g | --- | 2.1 S3 (29aug) | |
1038494 | Test case for track interfaces when consuming a MediaStream | Audio/Video | RESOLVED | FIXED | Shelly Lin [:shelly] | 1026351, 1035482 | [FT:Stream3] | No feature_b2g | --- | mozilla33 | |
1040561 | Nested-oop does not works with Nuwa | DOM: Core & HTML | RESOLVED | FIXED | Kan-Ru Chen [:kanru] (UTC+9) | 1020135, 1057230, 1079654 | [nested-oop][FT:Stream3] | No feature_b2g | --- | mozilla35 | |
1041419 | Nested oop browser frame crashes when trying to play a video | General | RESOLVED | FIXED | Kershaw Chang [:kershaw] | 1020135 | [nested-oop][FT:Stream3] | No feature_b2g | --- | mozilla36 | |
1041425 | Browser app crashes when sending touch event to nested child tab | General | RESOLVED | FIXED | Kershaw Chang [:kershaw] | 1020135 | [nested-oop][FT:Stream3] | No feature_b2g | --- | mozilla34 | |
1047307 | Remove the check of onremovetrack in "test_mediatrack_consuming_mediastream.html" | Audio/Video | RESOLVED | FIXED | Shelly Lin [:shelly] | 1035482 | [FT:Stream3] | No feature_b2g | --- | mozilla34 | |
1060250 | [Stingray] Implement DLNA browsing/playing app in Gaia dev_app | Gaia | RESOLVED | FIXED | KM Lee [:rexboy] (inactivate after Sep. 22) | 745283 | 980768, 984108 | [FT:Stream3] | No feature_b2g | --- | --- |
1088310 | [Stingray] Add more tests to TV Manager API | General | RESOLVED | FIXED | Sean Lin [:seanlin] (inactive from Mar 2016) | 998872 | [FT:Stream3] | No feature_b2g | --- | 2.1 S8 (7Nov) |
47 Total; 0 Open (0%); 43 Resolved (91.49%); 4 Verified (8.51%);
Presentations
- Layers Architecture of System/HomeScreen embedded Apps
- OIPF Functional Architecture
- OITF Terminal Functionality
- Apps Runtime for Broadcasting Services
- TV Tuner Control API - Study
- Introduction of TV IG
- Media Efforts for TV
- Introduction of Http Live Streaming.
Backlog
- Introduce a new layer type to represent HW overlay frame.
- Introduce a new interface for compositor to pass position info into outside of Gecko.
- Introduce a new interface for decoding image through HW component.
- Introduce a fake tuner driver/HAL for B2G emulator.
- Feature detection for TV category. ex: 4 color keys / no touch.