正在显示
1 个修改的文件
包含
40 行增加
和
33 行删除
@@ -48,12 +48,12 @@ class SrsStream; | @@ -48,12 +48,12 @@ class SrsStream; | ||
48 | enum SrsCodecAudioSampleRate | 48 | enum SrsCodecAudioSampleRate |
49 | { | 49 | { |
50 | // set to the max value to reserved, for array map. | 50 | // set to the max value to reserved, for array map. |
51 | - SrsCodecAudioSampleRateReserved = 4, | 51 | + SrsCodecAudioSampleRateReserved = 4, |
52 | 52 | ||
53 | SrsCodecAudioSampleRate5512 = 0, | 53 | SrsCodecAudioSampleRate5512 = 0, |
54 | - SrsCodecAudioSampleRate11025 = 1, | ||
55 | - SrsCodecAudioSampleRate22050 = 2, | ||
56 | - SrsCodecAudioSampleRate44100 = 3, | 54 | + SrsCodecAudioSampleRate11025 = 1, |
55 | + SrsCodecAudioSampleRate22050 = 2, | ||
56 | + SrsCodecAudioSampleRate44100 = 3, | ||
57 | }; | 57 | }; |
58 | 58 | ||
59 | /** | 59 | /** |
@@ -67,10 +67,10 @@ enum SrsCodecAudioSampleRate | @@ -67,10 +67,10 @@ enum SrsCodecAudioSampleRate | ||
67 | enum SrsCodecAudioSampleSize | 67 | enum SrsCodecAudioSampleSize |
68 | { | 68 | { |
69 | // set to the max value to reserved, for array map. | 69 | // set to the max value to reserved, for array map. |
70 | - SrsCodecAudioSampleSizeReserved = 2, | 70 | + SrsCodecAudioSampleSizeReserved = 2, |
71 | 71 | ||
72 | SrsCodecAudioSampleSize8bit = 0, | 72 | SrsCodecAudioSampleSize8bit = 0, |
73 | - SrsCodecAudioSampleSize16bit = 1, | 73 | + SrsCodecAudioSampleSize16bit = 1, |
74 | }; | 74 | }; |
75 | 75 | ||
76 | /** | 76 | /** |
@@ -82,10 +82,10 @@ enum SrsCodecAudioSampleSize | @@ -82,10 +82,10 @@ enum SrsCodecAudioSampleSize | ||
82 | enum SrsCodecAudioSoundType | 82 | enum SrsCodecAudioSoundType |
83 | { | 83 | { |
84 | // set to the max value to reserved, for array map. | 84 | // set to the max value to reserved, for array map. |
85 | - SrsCodecAudioSoundTypeReserved = 2, | 85 | + SrsCodecAudioSoundTypeReserved = 2, |
86 | 86 | ||
87 | - SrsCodecAudioSoundTypeMono = 0, | ||
88 | - SrsCodecAudioSoundTypeStereo = 1, | 87 | + SrsCodecAudioSoundTypeMono = 0, |
88 | + SrsCodecAudioSoundTypeStereo = 1, | ||
89 | }; | 89 | }; |
90 | 90 | ||
91 | /** | 91 | /** |
@@ -134,6 +134,9 @@ public: | @@ -134,6 +134,9 @@ public: | ||
134 | int nb_sample_units; | 134 | int nb_sample_units; |
135 | SrsCodecSampleUnit sample_units[SRS_MAX_CODEC_SAMPLE]; | 135 | SrsCodecSampleUnit sample_units[SRS_MAX_CODEC_SAMPLE]; |
136 | public: | 136 | public: |
137 | + /** | ||
138 | + * whether the sample is video sample which demux from video packet. | ||
139 | + */ | ||
137 | bool is_video; | 140 | bool is_video; |
138 | /** | 141 | /** |
139 | * CompositionTime, video_file_format_spec_v10_1.pdf, page 78. | 142 | * CompositionTime, video_file_format_spec_v10_1.pdf, page 78. |
@@ -191,50 +194,54 @@ private: | @@ -191,50 +194,54 @@ private: | ||
191 | SrsStream* stream; | 194 | SrsStream* stream; |
192 | public: | 195 | public: |
193 | /** | 196 | /** |
194 | - * video specified | 197 | + * metadata specified |
195 | */ | 198 | */ |
199 | + int duration; | ||
200 | + int width; | ||
201 | + int height; | ||
202 | + int frame_rate; | ||
196 | // @see: SrsCodecVideo | 203 | // @see: SrsCodecVideo |
197 | - int video_codec_id; | 204 | + int video_codec_id; |
205 | + int video_data_rate; // in bps | ||
206 | + // @see: SrsCod ecAudioType | ||
207 | + int audio_codec_id; | ||
208 | + int audio_data_rate; // in bps | ||
209 | +public: | ||
210 | + /** | ||
211 | + * video specified | ||
212 | + */ | ||
198 | // profile_idc, H.264-AVC-ISO_IEC_14496-10.pdf, page 45. | 213 | // profile_idc, H.264-AVC-ISO_IEC_14496-10.pdf, page 45. |
199 | - u_int8_t avc_profile; | 214 | + u_int8_t avc_profile; |
200 | // level_idc, H.264-AVC-ISO_IEC_14496-10.pdf, page 45. | 215 | // level_idc, H.264-AVC-ISO_IEC_14496-10.pdf, page 45. |
201 | - u_int8_t avc_level; | ||
202 | - int width; | ||
203 | - int height; | ||
204 | - int video_data_rate; // in bps | ||
205 | - int frame_rate; | ||
206 | - int duration; | 216 | + u_int8_t avc_level; |
207 | // lengthSizeMinusOne, H.264-AVC-ISO_IEC_14496-15.pdf, page 16 | 217 | // lengthSizeMinusOne, H.264-AVC-ISO_IEC_14496-15.pdf, page 16 |
208 | - int8_t NAL_unit_length; | ||
209 | - u_int16_t sequenceParameterSetLength; | ||
210 | - char* sequenceParameterSetNALUnit; | ||
211 | - u_int16_t pictureParameterSetLength; | ||
212 | - char* pictureParameterSetNALUnit; | 218 | + int8_t NAL_unit_length; |
219 | + u_int16_t sequenceParameterSetLength; | ||
220 | + char* sequenceParameterSetNALUnit; | ||
221 | + u_int16_t pictureParameterSetLength; | ||
222 | + char* pictureParameterSetNALUnit; | ||
213 | public: | 223 | public: |
214 | /** | 224 | /** |
215 | * audio specified | 225 | * audio specified |
216 | */ | 226 | */ |
217 | - // @see: SrsCodecAudioType | ||
218 | - int audio_codec_id; | ||
219 | - int audio_data_rate; // in bps | ||
220 | // 1.6.2.1 AudioSpecificConfig, in aac-mp4a-format-ISO_IEC_14496-3+2001.pdf, page 33. | 227 | // 1.6.2.1 AudioSpecificConfig, in aac-mp4a-format-ISO_IEC_14496-3+2001.pdf, page 33. |
221 | // audioObjectType, value defines in 7.1 Profiles, aac-iso-13818-7.pdf, page 40. | 228 | // audioObjectType, value defines in 7.1 Profiles, aac-iso-13818-7.pdf, page 40. |
222 | - u_int8_t aac_profile; | 229 | + u_int8_t aac_profile; |
223 | // samplingFrequencyIndex | 230 | // samplingFrequencyIndex |
224 | - u_int8_t aac_sample_rate; | 231 | + u_int8_t aac_sample_rate; |
225 | // channelConfiguration | 232 | // channelConfiguration |
226 | - u_int8_t aac_channels; | 233 | + u_int8_t aac_channels; |
227 | public: | 234 | public: |
228 | // the avc extra data, the AVC sequence header, | 235 | // the avc extra data, the AVC sequence header, |
229 | // without the flv codec header, | 236 | // without the flv codec header, |
230 | // @see: ffmpeg, AVCodecContext::extradata | 237 | // @see: ffmpeg, AVCodecContext::extradata |
231 | - int avc_extra_size; | ||
232 | - char* avc_extra_data; | 238 | + int avc_extra_size; |
239 | + char* avc_extra_data; | ||
233 | // the aac extra data, the AAC sequence header, | 240 | // the aac extra data, the AAC sequence header, |
234 | // without the flv codec header, | 241 | // without the flv codec header, |
235 | // @see: ffmpeg, AVCodecContext::extradata | 242 | // @see: ffmpeg, AVCodecContext::extradata |
236 | - int aac_extra_size; | ||
237 | - char* aac_extra_data; | 243 | + int aac_extra_size; |
244 | + char* aac_extra_data; | ||
238 | public: | 245 | public: |
239 | SrsAvcAacCodec(); | 246 | SrsAvcAacCodec(); |
240 | virtual ~SrsAvcAacCodec(); | 247 | virtual ~SrsAvcAacCodec(); |
-
请 注册 或 登录 后发表评论