From 46eb1ebd6bb85a7391992a5adcb23e1b4177c9e3 Mon Sep 17 00:00:00 2001 From: winlin Date: Mon, 23 Dec 2013 11:05:34 +0800 Subject: [PATCH] refine the srs js player and publisher, add private object --- trunk/research/players/js/srs.js | 10 ++++++++-- trunk/research/players/srs_chat.html | 4 +++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/trunk/research/players/js/srs.js b/trunk/research/players/js/srs.js index da86a5667..18a2c4f81 100755 --- a/trunk/research/players/js/srs.js +++ b/trunk/research/players/js/srs.js @@ -427,8 +427,10 @@ function srs_publiser_get_codec( * @param container the html container id. * @param width a float value specifies the width of player. * @param height a float value specifies the height of player. +* @param private_object [optional] an object that used as private object, +* for example, the logic chat object which owner this player. */ -function SrsPlayer(container, width, height) { +function SrsPlayer(container, width, height, private_object) { if (!SrsPlayer.__id) { SrsPlayer.__id = 100; } @@ -438,6 +440,7 @@ function SrsPlayer(container, width, height) { SrsPlayer.__players.push(this); + this.private_object = private_object; this.container = container; this.width = width; this.height = height; @@ -611,8 +614,10 @@ function __srs_on_player_timer(id, time, buffer_length) { * @param container the html container id. * @param width a float value specifies the width of publisher. * @param height a float value specifies the height of publisher. +* @param private_object [optional] an object that used as private object, +* for example, the logic chat object which owner this publisher. */ -function SrsPublisher(container, width, height) { +function SrsPublisher(container, width, height, private_object) { if (!SrsPublisher.__id) { SrsPublisher.__id = 100; } @@ -622,6 +627,7 @@ function SrsPublisher(container, width, height) { SrsPublisher.__publishers.push(this); + this.private_object = private_object; this.container = container; this.width = width; this.height = height; diff --git a/trunk/research/players/srs_chat.html b/trunk/research/players/srs_chat.html index bfe652832..4db93c89b 100755 --- a/trunk/research/players/srs_chat.html +++ b/trunk/research/players/srs_chat.html @@ -184,7 +184,9 @@ // if previous exists, ignore, only add new here. var previous_chat = get_previous_chat_user(previous_chats, chat.id); if (previous_chat) { + // update reference. chat.player = previous_chat.player; + chat.player.private_object = chat; continue; } @@ -209,7 +211,7 @@ if (!no_play) { // start the realtime player. - var _player = new SrsPlayer("rp_raw_" + chat.id, 600, 300); + var _player = new SrsPlayer("rp_raw_" + chat.id, 600, 300, chat); _player.on_player_ready = function() { this.set_bt(0.5); this.set_fs("screen", 100);