Closed
Bug 949675
Opened 11 years ago
Closed 11 years ago
Support HTTP->Rtsp Channel redirects
Categories
(Firefox OS Graveyard :: RTSP, defect)
Firefox OS Graveyard
RTSP
Tracking
(feature-b2g:2.0, tracking-b2g:backlog)
People
(Reporter: mayhemer, Assigned: ethan)
References
Details
(Whiteboard: [p=1])
Attachments
(1 file, 4 obsolete files)
30.94 KB,
patch
|
Details | Diff | Splinter Review |
Right now all the job of rtsp handling is done on the child process. This is a) insecure and unwanted b) doesn't support being redirected to (http->rtsp doesn't work).
Reporter | ||
Updated•11 years ago
|
OS: Windows 7 → All
Hardware: x86_64 → All
Updated•11 years ago
|
Assignee: nobody → sworkman
Comment 3•11 years ago
|
||
Honza, correct me if I'm wrong, but I'm guessing the solution here is to have RTSPChannelChild implement nsIChildChannel (and RtspChannelParent implement nsIParentChannel), like FTPChannel{Child|Parent} do, and then have the RtspParentChannel call ConnectChannel if it's been created as part of a redirect?
http://mxr.mozilla.org/mozilla-central/source/netwerk/protocol/ftp/FTPChannelParent.cpp#77
The situation is complicated by the fact that we seem to have a split between RtspChannel and then the e10s is done somehow by RtspChannelController--I'm not sure how that maps onto this. But hopefully it's enough to get Ethan/Steve thinking about things at least.
(Note: the IPDL magic that creates FTPChannelCreationArgs as a type is in /netwerk/ipc/NeckoChannelParams.ipdlh)
Flags: needinfo?(honzab.moz)
Comment 4•11 years ago
|
||
RTSP has never mapped neatly onto our regular necko channels, so Honza thinks we may have an easier time supporting it by implementing bug 590682 and having it use the universal redirect logic instead.
Depends on: 590682
Flags: needinfo?(honzab.moz)
Updated•11 years ago
|
Summary: Implement IPC for RtspChannel to support redirects and be generally correct → Support HTTP->Rtsp Channel redirects
Reporter | ||
Comment 5•11 years ago
|
||
I think we should give a try to bug 590682. There is a work-in-progress patch that allows universally wrap any nsIChannel implantation that can only work on the parent process to allow it to be used from child process. The patch needs to be rebased tho.
Ethan, first, check that we can rip all e10s code from the current RTSP implementation and that their nsIChannel implementation conforms the contract (see the IDL, ask questions). If it's confirmed as doable and there is no extra e10s communication (means: they DON'T send anything more then just OnStartRequest, OnDataAvailable, OnStopRequest) then it's IMO doable.
Then, please take bug 590682 and make the patch apply on top of current mozilla-central and make it build again. It should be easy, mostly mechanical work, still, it's quite old, so some APIs or so might changed since that time. Ask me or Jason when something is not clear.
Reporter | ||
Comment 6•11 years ago
|
||
(In reply to Honza Bambas (:mayhemer) from comment #5)
> Ethan, first, check that we can rip all e10s code from the current RTSP
> implementation and that their nsIChannel implementation conforms the
> contract (see the IDL, ask questions). If it's confirmed as doable and
> there is no extra e10s communication (means: they DON'T send anything more
> then just OnStartRequest, OnDataAvailable, OnStopRequest) then it's IMO
> doable.
The goal is to let it work only on parent process on in the single process model.
Reporter | ||
Comment 7•11 years ago
|
||
parent process OR in the single process model.
(3:30am....)
Comment 8•11 years ago
|
||
remove 1.4 flag as this is a feature work. let's use bug dependency to manage.
blocking-b2g: 1.4+ → backlog
Whiteboard: [FT:RIL]
Assignee | ||
Updated•11 years ago
|
Assignee: sworkman → ettseng
Assignee | ||
Updated•11 years ago
|
Status: NEW → ASSIGNED
Assignee | ||
Comment 9•11 years ago
|
||
An initial WIP patch, which implements RtspChannelChild.
1. Inherit from nsIChildChannel, in order to use CompleteRedirectSetup().
2. Transfer the creation of RtspController from RtspMediaResource to RtspChannelChild.
3. Add itself to LoadGroup so that we can release RtspController via channel::Cancel().
Updated•11 years ago
|
Component: Networking → RTSP
Product: Core → Firefox OS
Assignee | ||
Comment 10•11 years ago
|
||
Update the WIP patch.
Attachment #8393427 -
Attachment is obsolete: true
Assignee | ||
Comment 11•11 years ago
|
||
Attachment #8399286 -
Attachment is obsolete: true
Assignee | ||
Comment 12•11 years ago
|
||
A WIP patch for http->rtsp redirection.
Attachment #8399406 -
Attachment is obsolete: true
Assignee | ||
Comment 13•11 years ago
|
||
Remove trailing whitespaces.
Attachment #8401210 -
Attachment is obsolete: true
Assignee | ||
Comment 14•11 years ago
|
||
This bug will be resolved in bug 992568 (Refactor RtspChannel to support HTTP->RTSP redirection and rendering inside the browser), which converging implementations of several bugs.
Updated•11 years ago
|
Whiteboard: [FT:RIL]
Assignee | ||
Comment 15•11 years ago
|
||
Resolved fixed by bug 992568.
Verified by two different HTTP->RTSP redirect cases:
1. Shorten URL:
http://goo.gl/G437gm
will be redirected to:
rtsp://m.streaming.imusica.com.br/vod/mp4:takemeout?=3529931==web.local=1262=0
2. Redirect specified in HTTP URL
http://tiv-dmz.homeip.net/content/sdpgen/h264_192kbps_aacPlus_24kbps_3sec_QVGA_10_fps.sdp?redirect=1&sessionID=jSN1gtpJV1pbbxum
(This site requires authentication. User/passwd: VQGTester/VQG8017)
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 16•11 years ago
|
||
*** Note ***
RTSP video is not enabled by default for now.
Turn on it by manually setting preference:
pref("media.rtsp.video.enabled", true);
Bug 999914 will turn on RTSP video.
Assignee | ||
Updated•11 years ago
|
Whiteboard: [p=1]
Target Milestone: --- → 2.0 S1 (9may)
Comment 17•11 years ago
|
||
Verified it.
* Build information.
- Gaia e8a08a3f7a608993f0b302371e016e73faceea70
- Gecko https://hg.mozilla.org/mozilla-central/rev/2897fb554990
- BuildID 20140505160203
- Version 32.0a1
Status: RESOLVED → VERIFIED
Updated•10 years ago
|
feature-b2g: --- → 2.0
Updated•10 years ago
|
blocking-b2g: backlog → ---
tracking-b2g:
--- → backlog
You need to log in
before you can comment on or make changes to this bug.
Description
•