for #299, refine audio codec object name

pull/763/head
winlin 8 years ago
parent caf69f193d
commit d612a21bad

@ -536,8 +536,8 @@ int SrsDvrMp4Segmenter::encode_audio(SrsSharedPtrMessage* audio)
uint8_t v = buffer->read_1bytes(); uint8_t v = buffer->read_1bytes();
SrsAudioCodecId sound_format = (SrsAudioCodecId)((v >> 4) & 0x0f); SrsAudioCodecId sound_format = (SrsAudioCodecId)((v >> 4) & 0x0f);
SrsAudioSampleRate sound_rate = (SrsAudioSampleRate)((v >> 2) & 0x03); SrsAudioSampleRate sound_rate = (SrsAudioSampleRate)((v >> 2) & 0x03);
SrsAudioSampleSize sound_size = (SrsAudioSampleSize)((v >> 1) & 0x01); SrsAudioSampleBits sound_size = (SrsAudioSampleBits)((v >> 1) & 0x01);
SrsAudioSoundType channels = (SrsAudioSoundType)(v&0x01); SrsAudioChannels channels = (SrsAudioChannels)(v&0x01);
uint16_t ct = 0x00; uint16_t ct = 0x00;
if (sound_format == SrsAudioCodecIdAAC) { if (sound_format == SrsAudioCodecIdAAC) {

@ -521,8 +521,8 @@ int SrsRtspConn::write_sequence_header()
SrsAudioCodecConfig* dec = format->acodec; SrsAudioCodecConfig* dec = format->acodec;
acodec->sound_format = SrsAudioCodecIdAAC; acodec->sound_format = SrsAudioCodecIdAAC;
acodec->sound_type = (dec->aac_channels == 2)? SrsAudioSoundTypeStereo : SrsAudioSoundTypeMono; acodec->sound_type = (dec->aac_channels == 2)? SrsAudioChannelsStereo : SrsAudioChannelsMono;
acodec->sound_size = SrsAudioSampleSize16bit; acodec->sound_size = SrsAudioSampleBits16bit;
acodec->aac_packet_type = 0; acodec->aac_packet_type = 0;
static int srs_aac_srates[] = { static int srs_aac_srates[] = {

@ -106,7 +106,7 @@ SrsStatisticStream::SrsStatisticStream()
has_audio = false; has_audio = false;
acodec = SrsAudioCodecIdReserved1; acodec = SrsAudioCodecIdReserved1;
asample_rate = SrsAudioSampleRateReserved; asample_rate = SrsAudioSampleRateReserved;
asound_type = SrsAudioSoundTypeReserved; asound_type = SrsAudioChannelsReserved;
aac_object = SrsAacObjectTypeReserved; aac_object = SrsAacObjectTypeReserved;
width = 0; width = 0;
height = 0; height = 0;
@ -329,7 +329,7 @@ int SrsStatistic::on_video_info(SrsRequest* req,
} }
int SrsStatistic::on_audio_info(SrsRequest* req, int SrsStatistic::on_audio_info(SrsRequest* req,
SrsAudioCodecId acodec, SrsAudioSampleRate asample_rate, SrsAudioSoundType asound_type, SrsAudioCodecId acodec, SrsAudioSampleRate asample_rate, SrsAudioChannels asound_type,
SrsAacObjectType aac_object SrsAacObjectType aac_object
) { ) {
int ret = ERROR_SUCCESS; int ret = ERROR_SUCCESS;

@ -92,7 +92,7 @@ public:
bool has_audio; bool has_audio;
SrsAudioCodecId acodec; SrsAudioCodecId acodec;
SrsAudioSampleRate asample_rate; SrsAudioSampleRate asample_rate;
SrsAudioSoundType asound_type; SrsAudioChannels asound_type;
/** /**
* audio specified * audio specified
* audioObjectType, in 1.6.2.1 AudioSpecificConfig, page 33, * audioObjectType, in 1.6.2.1 AudioSpecificConfig, page 33,
@ -177,7 +177,7 @@ public:
* when got audio info for stream. * when got audio info for stream.
*/ */
virtual int on_audio_info(SrsRequest* req, virtual int on_audio_info(SrsRequest* req,
SrsAudioCodecId acodec, SrsAudioSampleRate asample_rate, SrsAudioSoundType asound_type, SrsAudioCodecId acodec, SrsAudioSampleRate asample_rate, SrsAudioChannels asound_type,
SrsAacObjectType aac_object SrsAacObjectType aac_object
); );
/** /**

@ -78,7 +78,7 @@ string srs_audio_codec_id2str(SrsAudioCodecId codec)
} }
} }
string srs_codec_audio_samplerate2str(SrsAudioSampleRate v) string srs_audio_sample_rate2str(SrsAudioSampleRate v)
{ {
switch (v) { switch (v) {
case SrsAudioSampleRate5512: return "5512"; case SrsAudioSampleRate5512: return "5512";
@ -215,20 +215,20 @@ int srs_aac_srates[] =
7350, 0, 0, 0 7350, 0, 0, 0
}; };
string srs_audio_samplesize2str(SrsAudioSampleSize v) string srs_audio_sample_bits2str(SrsAudioSampleBits v)
{ {
switch (v) { switch (v) {
case SrsAudioSampleSize16bit: return "16bits"; case SrsAudioSampleBits16bit: return "16bits";
case SrsAudioSampleSize8bit: return "8bits"; case SrsAudioSampleBits8bit: return "8bits";
default: return "Other"; default: return "Other";
} }
} }
string srs_audio_channels2str(SrsAudioSoundType v) string srs_audio_channels2str(SrsAudioChannels v)
{ {
switch (v) { switch (v) {
case SrsAudioSoundTypeStereo: return "Stereo"; case SrsAudioChannelsStereo: return "Stereo";
case SrsAudioSoundTypeMono: return "Mono"; case SrsAudioChannelsMono: return "Mono";
default: return "Other"; default: return "Other";
} }
} }
@ -363,8 +363,8 @@ SrsAudioCodecConfig::SrsAudioCodecConfig()
{ {
id = SrsAudioCodecIdForbidden; id = SrsAudioCodecIdForbidden;
sound_rate = SrsAudioSampleRateForbidden; sound_rate = SrsAudioSampleRateForbidden;
sound_size = SrsAudioSampleSizeForbidden; sound_size = SrsAudioSampleBitsForbidden;
sound_type = SrsAudioSoundTypeForbidden; sound_type = SrsAudioChannelsForbidden;
audio_data_rate = 0; audio_data_rate = 0;
@ -1270,9 +1270,9 @@ int SrsFormat::audio_aac_demux(SrsBuffer* stream, int64_t timestamp)
SrsAudioCodecId codec_id = (SrsAudioCodecId)sound_format; SrsAudioCodecId codec_id = (SrsAudioCodecId)sound_format;
acodec->id = codec_id; acodec->id = codec_id;
acodec->sound_type = (SrsAudioSoundType)sound_type; acodec->sound_type = (SrsAudioChannels)sound_type;
acodec->sound_rate = (SrsAudioSampleRate)sound_rate; acodec->sound_rate = (SrsAudioSampleRate)sound_rate;
acodec->sound_size = (SrsAudioSampleSize)sound_size; acodec->sound_size = (SrsAudioSampleBits)sound_size;
// we support h.264+mp3 for hls. // we support h.264+mp3 for hls.
if (codec_id == SrsAudioCodecIdMP3) { if (codec_id == SrsAudioCodecIdMP3) {

@ -199,7 +199,7 @@ enum SrsAudioSampleRate
SrsAudioSampleRate22050 = 2, SrsAudioSampleRate22050 = 2,
SrsAudioSampleRate44100 = 3, SrsAudioSampleRate44100 = 3,
}; };
std::string srs_codec_audio_samplerate2str(SrsAudioSampleRate v); std::string srs_audio_sample_rate2str(SrsAudioSampleRate v);
/** /**
* The frame type, for example, audio, video or data. * The frame type, for example, audio, video or data.
@ -291,40 +291,42 @@ extern int srs_aac_srates[];
#define SrsMaxNbSamples 256 #define SrsMaxNbSamples 256
/** /**
* the FLV/RTMP supported audio sample size. * The audio sample size in bits.
* Size of each audio sample. This parameter only pertains to * @doc video_file_format_spec_v10_1.pdf, page 76, E.4.2 Audio Tags
* uncompressed formats. Compressed formats always decode * Size of each audio sample. This parameter only pertains to
* to 16 bits internally. * uncompressed formats. Compressed formats always decode
* 0 = 8-bit samples * to 16 bits internally.
* 1 = 16-bit samples * 0 = 8-bit samples
*/ * 1 = 16-bit samples
enum SrsAudioSampleSize */
enum SrsAudioSampleBits
{ {
// set to the max value to reserved, for array map. // set to the max value to reserved, for array map.
SrsAudioSampleSizeReserved = 2, SrsAudioSampleBitsReserved = 2,
SrsAudioSampleSizeForbidden = 2, SrsAudioSampleBitsForbidden = 2,
SrsAudioSampleSize8bit = 0, SrsAudioSampleBits8bit = 0,
SrsAudioSampleSize16bit = 1, SrsAudioSampleBits16bit = 1,
}; };
std::string srs_audio_samplesize2str(SrsAudioSampleSize v); std::string srs_audio_sample_bits2str(SrsAudioSampleBits v);
/** /**
* the FLV/RTMP supported audio sound type/channel. * The audio channels.
* Mono or stereo sound * @doc video_file_format_spec_v10_1.pdf, page 77, E.4.2 Audio Tags
* 0 = Mono sound * Mono or stereo sound
* 1 = Stereo sound * 0 = Mono sound
*/ * 1 = Stereo sound
enum SrsAudioSoundType */
enum SrsAudioChannels
{ {
// set to the max value to reserved, for array map. // set to the max value to reserved, for array map.
SrsAudioSoundTypeReserved = 2, SrsAudioChannelsReserved = 2,
SrsAudioSoundTypeForbidden = 2, SrsAudioChannelsForbidden = 2,
SrsAudioSoundTypeMono = 0, SrsAudioChannelsMono = 0,
SrsAudioSoundTypeStereo = 1, SrsAudioChannelsStereo = 1,
}; };
std::string srs_audio_channels2str(SrsAudioSoundType v); std::string srs_audio_channels2str(SrsAudioChannels v);
/** /**
* Table 7-1 - NAL unit type codes, syntax element categories, and NAL unit type classes * Table 7-1 - NAL unit type codes, syntax element categories, and NAL unit type classes
@ -518,8 +520,8 @@ public:
SrsAudioCodecId id; SrsAudioCodecId id;
// audio aac specified. // audio aac specified.
SrsAudioSampleRate sound_rate; SrsAudioSampleRate sound_rate;
SrsAudioSampleSize sound_size; SrsAudioSampleBits sound_size;
SrsAudioSoundType sound_type; SrsAudioChannels sound_type;
int audio_data_rate; // in bps int audio_data_rate; // in bps
public: public:
/** /**

@ -3861,8 +3861,8 @@ SrsMp4Decoder::SrsMp4Decoder()
pasc = pavcc = NULL; pasc = pavcc = NULL;
asc_written = avcc_written = false; asc_written = avcc_written = false;
sample_rate = SrsAudioSampleRateForbidden; sample_rate = SrsAudioSampleRateForbidden;
sound_bits = SrsAudioSampleSizeForbidden; sound_bits = SrsAudioSampleBitsForbidden;
channels = SrsAudioSoundTypeForbidden; channels = SrsAudioChannelsForbidden;
samples = new SrsMp4SampleManager(); samples = new SrsMp4SampleManager();
current_index = 0; current_index = 0;
current_offset = 0; current_offset = 0;
@ -4062,15 +4062,15 @@ int SrsMp4Decoder::parse_moov(SrsMp4MovieBox* moov)
} }
if (mp4a->samplesize == 16) { if (mp4a->samplesize == 16) {
sound_bits = SrsAudioSampleSize16bit; sound_bits = SrsAudioSampleBits16bit;
} else { } else {
sound_bits = SrsAudioSampleSize8bit; sound_bits = SrsAudioSampleBits8bit;
} }
if (mp4a->channelcount == 2) { if (mp4a->channelcount == 2) {
channels = SrsAudioSoundTypeStereo; channels = SrsAudioChannelsStereo;
} else { } else {
channels = SrsAudioSoundTypeMono; channels = SrsAudioChannelsMono;
} }
} }
@ -4117,8 +4117,8 @@ int SrsMp4Decoder::parse_moov(SrsMp4MovieBox* moov)
ss << ", soun=" << moov->nb_soun_tracks() << "(" ss << ", soun=" << moov->nb_soun_tracks() << "("
<< srs_audio_codec_id2str(acodec) << "," << nb_asc << "BSH" << srs_audio_codec_id2str(acodec) << "," << nb_asc << "BSH"
<< "," << srs_audio_channels2str(channels) << "," << srs_audio_channels2str(channels)
<< "," << srs_audio_samplesize2str(sound_bits) << "," << srs_audio_sample_bits2str(sound_bits)
<< "," << srs_codec_audio_samplerate2str(sample_rate) << "," << srs_audio_sample_rate2str(sample_rate)
<< ")"; << ")";
srs_trace("MP4 moov %s", ss.str().c_str()); srs_trace("MP4 moov %s", ss.str().c_str());
@ -4233,8 +4233,8 @@ SrsMp4Encoder::SrsMp4Encoder()
acodec = SrsAudioCodecIdForbidden; acodec = SrsAudioCodecIdForbidden;
sample_rate = SrsAudioSampleRateForbidden; sample_rate = SrsAudioSampleRateForbidden;
sound_bits = SrsAudioSampleSizeForbidden; sound_bits = SrsAudioSampleBitsForbidden;
channels = SrsAudioSoundTypeForbidden; channels = SrsAudioChannelsForbidden;
vcodec = SrsVideoCodecIdForbidden; vcodec = SrsVideoCodecIdForbidden;
} }
@ -4494,12 +4494,12 @@ int SrsMp4Encoder::flush()
SrsMp4AudioSampleEntry* mp4a = new SrsMp4AudioSampleEntry(); SrsMp4AudioSampleEntry* mp4a = new SrsMp4AudioSampleEntry();
mp4a->samplerate = uint32_t(srs_flv_srates[sample_rate]) << 16; mp4a->samplerate = uint32_t(srs_flv_srates[sample_rate]) << 16;
if (sound_bits == SrsAudioSampleSize16bit) { if (sound_bits == SrsAudioSampleBits16bit) {
mp4a->samplesize = 16; mp4a->samplesize = 16;
} else { } else {
mp4a->samplesize = 8; mp4a->samplesize = 8;
} }
if (channels == SrsAudioSoundTypeStereo) { if (channels == SrsAudioChannelsStereo) {
mp4a->channelcount = 2; mp4a->channelcount = 2;
} else { } else {
mp4a->channelcount = 1; mp4a->channelcount = 1;

@ -1579,9 +1579,9 @@ public:
// The audio sample rate. // The audio sample rate.
SrsAudioSampleRate sample_rate; SrsAudioSampleRate sample_rate;
// The audio sound bits. // The audio sound bits.
SrsAudioSampleSize sound_bits; SrsAudioSampleBits sound_bits;
// The audio sound type. // The audio sound type.
SrsAudioSoundType channels; SrsAudioChannels channels;
private: private:
// For AAC, the asc in esds box. // For AAC, the asc in esds box.
int nb_asc; int nb_asc;
@ -1652,9 +1652,9 @@ public:
// The audio sample rate. // The audio sample rate.
SrsAudioSampleRate sample_rate; SrsAudioSampleRate sample_rate;
// The audio sound bits. // The audio sound bits.
SrsAudioSampleSize sound_bits; SrsAudioSampleBits sound_bits;
// The audio sound type. // The audio sound type.
SrsAudioSoundType channels; SrsAudioChannels channels;
private: private:
// For AAC, the asc in esds box. // For AAC, the asc in esds box.
int nb_asc; int nb_asc;

@ -536,9 +536,9 @@ typedef struct {
// The audio sample rate, it's SrsAudioSampleRate. // The audio sample rate, it's SrsAudioSampleRate.
uint8_t sample_rate; uint8_t sample_rate;
// The audio sound bits, it's SrsAudioSampleSize. // The audio sound bits, it's SrsAudioSampleBits.
uint8_t sound_bits; uint8_t sound_bits;
// The audio sound type, it's SrsAudioSoundType. // The audio sound type, it's SrsAudioChannels.
uint8_t channels; uint8_t channels;
// The size of sample payload in bytes. // The size of sample payload in bytes.

Loading…
Cancel
Save