@@ -167,7 +167,6 @@ SrsMpegtsSrtConn::SrsMpegtsSrtConn(SrsSrtServer* srt_server, srs_srt_t srt_fd, s
167
167
168
168
srt_source_ = NULL ;
169
169
req_ = new SrsRequest ();
170
- mode_ = SrtModePull;
171
170
}
172
171
173
172
SrsMpegtsSrtConn::~SrsMpegtsSrtConn ()
@@ -239,29 +238,6 @@ srs_error_t SrsMpegtsSrtConn::do_cycle()
239
238
{
240
239
srs_error_t err = srs_success;
241
240
242
- if ((err = fetch_or_create_source ()) != srs_success) {
243
- return srs_error_wrap (err, " fetch or create srt source" );
244
- }
245
-
246
- if ((err = http_hooks_on_connect ()) != srs_success) {
247
- return srs_error_wrap (err, " on connect" );
248
- }
249
-
250
- if (mode_ == SrtModePush) {
251
- err = publishing ();
252
- } else if (mode_ == SrtModePull) {
253
- err = playing ();
254
- }
255
-
256
- http_hooks_on_close ();
257
-
258
- return err;
259
- }
260
-
261
- srs_error_t SrsMpegtsSrtConn::fetch_or_create_source ()
262
- {
263
- srs_error_t err = srs_success;
264
-
265
241
string streamid = " " ;
266
242
if ((err = srs_srt_get_streamid (srt_fd_, streamid)) != srs_success) {
267
243
return srs_error_wrap (err, " get srt streamid" );
@@ -273,7 +249,8 @@ srs_error_t SrsMpegtsSrtConn::fetch_or_create_source()
273
249
}
274
250
275
251
// Detect streamid of srt to request.
276
- if (! srs_srt_streamid_to_request (streamid, mode_, req_)) {
252
+ SrtMode mode = SrtModePull;
253
+ if (! srs_srt_streamid_to_request (streamid, mode, req_)) {
277
254
return srs_error_new (ERROR_SRT_CONN, " invalid srt streamid=%s" , streamid.c_str ());
278
255
}
279
256
@@ -282,12 +259,24 @@ srs_error_t SrsMpegtsSrtConn::fetch_or_create_source()
282
259
}
283
260
284
261
srs_trace (" @srt, streamid=%s, stream_url=%s, vhost=%s, app=%s, stream=%s, param=%s" ,
285
- streamid.c_str (), req_->get_stream_url ().c_str (), req_->vhost .c_str (), req_->app .c_str (), req_->stream .c_str (), req_->param .c_str ());
262
+ streamid.c_str (), req_->get_stream_url ().c_str (), req_->vhost .c_str (), req_->app .c_str (), req_->stream .c_str (), req_->param .c_str ());
286
263
287
264
if ((err = _srs_srt_sources->fetch_or_create (req_, &srt_source_)) != srs_success) {
288
265
return srs_error_wrap (err, " fetch srt source" );
289
266
}
290
267
268
+ if ((err = http_hooks_on_connect ()) != srs_success) {
269
+ return srs_error_wrap (err, " on connect" );
270
+ }
271
+
272
+ if (mode == SrtModePush) {
273
+ err = publishing ();
274
+ } else if (mode == SrtModePull) {
275
+ err = playing ();
276
+ }
277
+
278
+ http_hooks_on_close ();
279
+
291
280
return err;
292
281
}
293
282
0 commit comments