Skip to content

Commit 31a0962

Browse files
author
aeinstein
committed
stop function
1 parent 561961e commit 31a0962

File tree

8 files changed

+38
-8
lines changed

8 files changed

+38
-8
lines changed

dist/webrtmp.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/webrtmp.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/webrtmp.worker.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/webrtmp.worker.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/rtmp/RTMPMessageHandler.js

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ class RTMPMessageHandler {
3434
chunk_stream_id = 2;
3535
trackedCommand = "";
3636
socket;
37+
current_stream_id;
3738

3839
/**
3940
*
@@ -126,6 +127,10 @@ class RTMPMessageHandler {
126127
Log.d(this.TAG, "AMF0", cmd);
127128

128129
switch(cmd[0]) {
130+
case "_error":
131+
Log.e(this.TAG, cmd);
132+
break;
133+
129134
case "_result":
130135
switch(this.trackedCommand){
131136
case "connect":
@@ -139,7 +144,8 @@ class RTMPMessageHandler {
139144
case "createStream":
140145
Log.d(this.TAG,"got _result: " + cmd[3]);
141146
if(cmd[3]) {
142-
postMessage(["RTMPStreamCreated"]);
147+
this.current_stream_id = cmd[4];
148+
postMessage(["RTMPStreamCreated", cmd[3], cmd[4]]);
143149
}
144150
break;
145151

@@ -208,6 +214,14 @@ class RTMPMessageHandler {
208214
this._sendCommand(3, command);
209215
}
210216

217+
deleteStream(stream_id){
218+
const command = new AMF0Object([
219+
"deleteStream", 1, null, stream_id
220+
]);
221+
222+
this._sendCommand(3, command);
223+
}
224+
211225
/**
212226
*
213227
* @param {String} streamName
@@ -220,6 +234,10 @@ class RTMPMessageHandler {
220234
this._sendCommand(3, command);
221235
}
222236

237+
stop(){
238+
this.deleteStream(this.current_stream_id);
239+
}
240+
223241
/**
224242
*
225243
* @param {boolean} enable

src/webrtmp.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,11 @@ class WebRTMP{
131131
});
132132
}
133133

134+
stop(){
135+
this.wss.stop()
136+
this._mediaElement.pause();
137+
}
138+
134139
/**
135140
*
136141
* @param {String|null} host
@@ -161,14 +166,13 @@ class WebRTMP{
161166
*/
162167
connect(appName){
163168
return new Promise((resolve, reject)=>{
164-
this.wss.addEventListener("RTMPStreamCreated", ()=>{
165-
Log.d(this.TAG,"RTMPStreamCreated");
169+
this.wss.addEventListener("RTMPStreamCreated", (cmd, stream_id)=>{
170+
Log.d(this.TAG,"RTMPStreamCreated: " + stream_id);
166171
resolve();
167172
});
168173

169174
this.wss.connect(appName);
170175
})
171-
172176
}
173177

174178
pause(enable){

src/wss/connection.worker.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,10 @@ self.addEventListener('message', function(e) {
8585
message_handler.play(data.streamName);
8686
break;
8787

88+
case "stop":
89+
message_handler.stop();
90+
break;
91+
8892
case "pause":
8993
message_handler.pause(data.enable);
9094
break;

src/wss/webrtmp.controller.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,10 @@ class WebRTMP_Controller {
100100
this.WebRTMPWorker.postMessage({cmd: "play", streamName: streamName});
101101
}
102102

103+
stop(){
104+
this.WebRTMPWorker.postMessage({cmd: "stop"});
105+
}
106+
103107
pause(enable){
104108
this.WebRTMPWorker.postMessage({cmd: "pause", enable: enable});
105109
}

0 commit comments

Comments
 (0)