winlin

fix #266, aac profile is object id plus one. 2.0.80

@@ -501,6 +501,7 @@ Supported operating systems and hardware: @@ -501,6 +501,7 @@ Supported operating systems and hardware:
501 * 2013-10-17, Created.<br/> 501 * 2013-10-17, Created.<br/>
502 502
503 ## History 503 ## History
  504 +* v2.0, 2014-12-12, fix [#266](https://github.com/winlinvip/simple-rtmp-server/issues/266), aac profile is object id plus one. 2.0.80
504 * v2.0, 2014-12-29, hotfix [#267](https://github.com/winlinvip/simple-rtmp-server/issues/267), the forward dest ep should use server. 2.0.79 505 * v2.0, 2014-12-29, hotfix [#267](https://github.com/winlinvip/simple-rtmp-server/issues/267), the forward dest ep should use server. 2.0.79
505 * v2.0, 2014-12-29, hotfix [#268](https://github.com/winlinvip/simple-rtmp-server/issues/268), the hls pcr is negative when startup. 2.0.78 506 * v2.0, 2014-12-29, hotfix [#268](https://github.com/winlinvip/simple-rtmp-server/issues/268), the hls pcr is negative when startup. 2.0.78
506 * v2.0, 2014-12-22, hotfix [#264](https://github.com/winlinvip/simple-rtmp-server/issues/264), ignore NALU when sequence header to make HLS happy. 2.0.76 507 * v2.0, 2014-12-22, hotfix [#264](https://github.com/winlinvip/simple-rtmp-server/issues/264), ignore NALU when sequence header to make HLS happy. 2.0.76
@@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. @@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31 // current release version 31 // current release version
32 #define VERSION_MAJOR 2 32 #define VERSION_MAJOR 2
33 #define VERSION_MINOR 0 33 #define VERSION_MINOR 0
34 -#define VERSION_REVISION 79 34 +#define VERSION_REVISION 80
35 // server info. 35 // server info.
36 #define RTMP_SIG_SRS_KEY "SRS" 36 #define RTMP_SIG_SRS_KEY "SRS"
37 #define RTMP_SIG_SRS_ROLE "origin/edge server" 37 #define RTMP_SIG_SRS_ROLE "origin/edge server"
@@ -1065,10 +1065,15 @@ int __srs_write_aac_adts_frames(Context* context, @@ -1065,10 +1065,15 @@ int __srs_write_aac_adts_frames(Context* context,
1065 return ERROR_AAC_ADTS_HEADER; 1065 return ERROR_AAC_ADTS_HEADER;
1066 } 1066 }
1067 1067
  1068 + // the profile = object_id + 1
  1069 + // @see aac-mp4a-format-ISO_IEC_14496-3+2001.pdf, page 78,
  1070 + // Table 1. A.9 – MPEG-2 Audio profiles and MPEG-4 Audio object types
  1071 + char aac_profile = fh_Profile_ObjectType + 1;
  1072 +
1068 char* raw_data = stream->data() + stream->pos(); 1073 char* raw_data = stream->data() + stream->pos();
1069 if ((ret = __srs_write_aac_adts_frame(context, 1074 if ((ret = __srs_write_aac_adts_frame(context,
1070 sound_format, sound_rate, sound_size, sound_type, 1075 sound_format, sound_rate, sound_size, sound_type,
1071 - fh_Profile_ObjectType, fh_sampling_frequency_index, fh_channel_configuration, 1076 + aac_profile, fh_sampling_frequency_index, fh_channel_configuration,
1072 raw_data, raw_data_size, timestamp)) != ERROR_SUCCESS 1077 raw_data, raw_data_size, timestamp)) != ERROR_SUCCESS
1073 ) { 1078 ) {
1074 return ret; 1079 return ret;