From 271b969d0b09929416c8c891eeb09363cebb8b65 Mon Sep 17 00:00:00 2001 From: winlin Date: Thu, 17 Apr 2014 16:08:56 +0800 Subject: [PATCH] set audio/video flag to 0 in flv header. --- trunk/src/app/srs_app_dvr.cpp | 21 +++------------------ trunk/src/app/srs_app_dvr.hpp | 2 -- 2 files changed, 3 insertions(+), 20 deletions(-) diff --git a/trunk/src/app/srs_app_dvr.cpp b/trunk/src/app/srs_app_dvr.cpp index 8b7a14f8d..f1a012597 100644 --- a/trunk/src/app/srs_app_dvr.cpp +++ b/trunk/src/app/srs_app_dvr.cpp @@ -143,8 +143,6 @@ off_t SrsFileStream::lseek(off_t offset) SrsFlvEncoder::SrsFlvEncoder() { _fs = NULL; - has_audio = false; - has_video = false; tag_stream = new SrsStream(); } @@ -158,8 +156,6 @@ int SrsFlvEncoder::initialize(SrsFileStream* fs) int ret = ERROR_SUCCESS; _fs = fs; - has_audio = true; - has_video = true; return ret; } @@ -179,16 +175,9 @@ int SrsFlvEncoder::write_header() (char)0x00, (char)0x00, (char)0x00, (char)0x00// PreviousTagSize0 UI32 Always 0 }; - // generate audio/video flag. - const static int av_index = 4; - - flv_header[av_index] = 0x00; - if (has_audio) { - flv_header[av_index] += 4; - } - if (has_video) { - flv_header[av_index] += 1; - } + // flv specification should set the audio and video flag, + // actually in practise, application generally ignore this flag, + // so we generally set the audio/video to 0. // write data. if ((ret = _fs->write(flv_header, sizeof(flv_header), NULL)) != ERROR_SUCCESS) { @@ -229,8 +218,6 @@ int SrsFlvEncoder::write_audio(int32_t timestamp, char* data, int size) { int ret = ERROR_SUCCESS; - has_audio = true; - static char tag_header[] = { (char)8, // TagType UB [5], 8 = audio (char)0x00, (char)0x00, (char)0x00, // DataSize UI24 Length of the message. @@ -260,8 +247,6 @@ int SrsFlvEncoder::write_video(int32_t timestamp, char* data, int size) { int ret = ERROR_SUCCESS; - has_video = true; - static char tag_header[] = { (char)9, // TagType UB [5], 9 = video (char)0x00, (char)0x00, (char)0x00, // DataSize UI24 Length of the message. diff --git a/trunk/src/app/srs_app_dvr.hpp b/trunk/src/app/srs_app_dvr.hpp index 5a2e1df80..1d514c594 100644 --- a/trunk/src/app/srs_app_dvr.hpp +++ b/trunk/src/app/srs_app_dvr.hpp @@ -79,8 +79,6 @@ class SrsFlvEncoder private: SrsFileStream* _fs; private: - bool has_audio; - bool has_video; SrsStream* tag_stream; public: SrsFlvEncoder();