1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

refine the order.

This commit is contained in:
winlin 2015-09-17 13:36:02 +08:00
parent 7b2b11e932
commit 1fd83d9314
30 changed files with 985 additions and 751 deletions

View file

@ -42,6 +42,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
///////////////////////////////////////////////////////////
// default vhost of rtmp
#define SRS_CONSTS_RTMP_DEFAULT_VHOST "__defaultVhost__"
#define SRS_CONSTS_RTMP_DEFAULT_APP "__defaultApp__"
// default port of rtmp
#define SRS_CONSTS_RTMP_DEFAULT_PORT "1935"

View file

@ -198,6 +198,7 @@ ISrsTsHandler::~ISrsTsHandler()
SrsTsContext::SrsTsContext()
{
pure_audio = false;
sync_byte = 0x47; // ts default sync byte.
vcodec = SrsCodecVideoReserved;
acodec = SrsCodecAudioReserved1;
}
@ -368,6 +369,11 @@ int SrsTsContext::encode(SrsFileWriter* writer, SrsTsMessage* msg, SrsCodecVideo
}
}
void SrsTsContext::set_sync_byte(int8_t sb)
{
sync_byte = sb;
}
int SrsTsContext::encode_pat_pmt(SrsFileWriter* writer, int16_t vpid, SrsTsStream vs, int16_t apid, SrsTsStream as)
{
int ret = ERROR_SUCCESS;
@ -384,6 +390,8 @@ int SrsTsContext::encode_pat_pmt(SrsFileWriter* writer, int16_t vpid, SrsTsStrea
SrsTsPacket* pkt = SrsTsPacket::create_pat(this, pmt_number, pmt_pid);
SrsAutoFree(SrsTsPacket, pkt);
pkt->sync_byte = sync_byte;
char* buf = new char[SRS_TS_PACKET_SIZE];
SrsAutoFree(char, buf);
@ -409,6 +417,8 @@ int SrsTsContext::encode_pat_pmt(SrsFileWriter* writer, int16_t vpid, SrsTsStrea
SrsTsPacket* pkt = SrsTsPacket::create_pmt(this, pmt_number, pmt_pid, vpid, vs, apid, as);
SrsAutoFree(SrsTsPacket, pkt);
pkt->sync_byte = sync_byte;
char* buf = new char[SRS_TS_PACKET_SIZE];
SrsAutoFree(char, buf);
@ -479,6 +489,8 @@ int SrsTsContext::encode_pes(SrsFileWriter* writer, SrsTsMessage* msg, int16_t p
}
SrsAutoFree(SrsTsPacket, pkt);
pkt->sync_byte = sync_byte;
char* buf = new char[SRS_TS_PACKET_SIZE];
SrsAutoFree(char, buf);
@ -2704,7 +2716,7 @@ int SrsTSMuxer::open(string p)
path = p;
close();
// reset the context for a new ts start.
context->reset();

View file

@ -345,6 +345,7 @@ class SrsTsContext
private:
std::map<int, SrsTsChannel*> pids;
bool pure_audio;
int8_t sync_byte;
// encoder
private:
// when any codec changed, write the PAT/PMT.
@ -394,6 +395,13 @@ public:
* @param ac the audio codec, write the PAT/PMT table when changed.
*/
virtual int encode(SrsFileWriter* writer, SrsTsMessage* msg, SrsCodecVideo vc, SrsCodecAudio ac);
// drm methods
public:
/**
* set sync byte of ts segment.
* replace the standard ts sync byte to bravo sync byte.
*/
virtual void set_sync_byte(int8_t sb);
private:
virtual int encode_pat_pmt(SrsFileWriter* writer, int16_t vpid, SrsTsStream vs, int16_t apid, SrsTsStream as);
virtual int encode_pes(SrsFileWriter* writer, SrsTsMessage* msg, int16_t pid, SrsTsStream sid, bool pure_audio);