@@ -415,10 +415,15 @@ SrsTsChannel::~SrsTsChannel()
415
415
srs_freep (msg);
416
416
}
417
417
418
- SrsTsMessage::SrsTsMessage ()
418
+ SrsTsMessage::SrsTsMessage (SrsTsChannel* c, SrsTsPacket* p )
419
419
{
420
- payload = NULL ;
421
- clear ();
420
+ channel = c;
421
+ packet = p;
422
+
423
+ dts = pts = 0 ;
424
+ continuity_counter = 0 ;
425
+ PES_packet_length = 0 ;
426
+ payload = new SrsSimpleBuffer ();
422
427
}
423
428
424
429
SrsTsMessage::~SrsTsMessage ()
@@ -469,15 +474,6 @@ bool SrsTsMessage::fresh()
469
474
return payload->length () == 0 ;
470
475
}
471
476
472
- void SrsTsMessage::clear ()
473
- {
474
- dts = pts = 0 ;
475
- continuity_counter = 0 ;
476
- PES_packet_length = 0 ;
477
- srs_freep (payload);
478
- payload = new SrsSimpleBuffer ();
479
- }
480
-
481
477
ISrsTsHandler::ISrsTsHandler ()
482
478
{
483
479
}
@@ -941,7 +937,7 @@ int SrsTsPayloadPES::decode(SrsStream* stream, SrsTsMessage** ppmsg)
941
937
// init msg.
942
938
SrsTsMessage* msg = channel->msg ;
943
939
if (!msg) {
944
- msg = new SrsTsMessage ();
940
+ msg = new SrsTsMessage (channel, packet );
945
941
channel->msg = msg;
946
942
}
947
943
@@ -967,7 +963,8 @@ int SrsTsPayloadPES::decode(SrsStream* stream, SrsTsMessage** ppmsg)
967
963
968
964
// reparse current msg.
969
965
stream->skip (stream->pos () * -1 );
970
- msg->clear ();
966
+ srs_freep (msg);
967
+ channel->msg = NULL ;
971
968
return ERROR_SUCCESS;
972
969
}
973
970
@@ -991,7 +988,8 @@ int SrsTsPayloadPES::decode(SrsStream* stream, SrsTsMessage** ppmsg)
991
988
992
989
// reparse current msg.
993
990
stream->skip (stream->pos () * -1 );
994
- msg->clear ();
991
+ srs_freep (msg);
992
+ channel->msg = NULL ;
995
993
return ERROR_SUCCESS;
996
994
}
997
995
}
@@ -1005,7 +1003,6 @@ int SrsTsPayloadPES::decode(SrsStream* stream, SrsTsMessage** ppmsg)
1005
1003
1006
1004
// reparse current msg.
1007
1005
stream->skip (stream->pos () * -1 );
1008
-
1009
1006
return ret;
1010
1007
}
1011
1008
0 commit comments