mirror of
https://github.com/servo/servo.git
synced 2025-07-03 13:33:39 +01:00
Allow simultaneous playback of audio and video for getUserMedia
This commit is contained in:
parent
2a61a0dbb0
commit
dfbf7e37ab
2 changed files with 19 additions and 18 deletions
|
@ -846,13 +846,14 @@ impl HTMLMediaElement {
|
|||
self.fetch_request(None);
|
||||
},
|
||||
SrcObject::MediaStream(ref stream) => {
|
||||
for stream in &*stream.get_tracks() {
|
||||
let tracks = &*stream.get_tracks();
|
||||
for (pos, track) in tracks.iter().enumerate() {
|
||||
if let Err(_) = self
|
||||
.player
|
||||
.borrow()
|
||||
.as_ref()
|
||||
.unwrap()
|
||||
.set_stream(&stream.id())
|
||||
.set_stream(&track.id(), pos == tracks.len() - 1)
|
||||
{
|
||||
self.queue_dedicated_media_source_failure_steps();
|
||||
}
|
||||
|
@ -1222,13 +1223,13 @@ impl HTMLMediaElement {
|
|||
_ => StreamType::Seekable,
|
||||
};
|
||||
|
||||
let player = ServoMedia::get()
|
||||
.unwrap()
|
||||
.create_player(stream_type, Box::new(PlayerContextDummy()));
|
||||
|
||||
let (action_sender, action_receiver) = ipc::channel().unwrap();
|
||||
player.register_event_handler(action_sender);
|
||||
player.register_frame_renderer(self.frame_renderer.clone());
|
||||
let player = ServoMedia::get().unwrap().create_player(
|
||||
stream_type,
|
||||
action_sender,
|
||||
Some(self.frame_renderer.clone()),
|
||||
Box::new(PlayerContextDummy()),
|
||||
);
|
||||
|
||||
*self.player.borrow_mut() = Some(player);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue