static ngx_int_t ngx_rtmp_mpegts_write_header(ngx_rtmp_mpegts_file_t *file, ngx_uint_t audio_codec_id) { if (audio_codec_id == NGX_RTMP_AUDIO_MP3 ) { return ngx_rtmp_mpegts_write_file(file, ngx_rtmp_mpegts_mp3_header, sizeof(ngx_rtmp_mpegts_mp3_header)); } return ngx_rtmp_mpegts_write_file(file, ngx_rtmp_mpegts_header, sizeof(ngx_rtmp_mpegts_header)); }
static ngx_int_t ngx_rtmp_mpegts_write_header(ngx_rtmp_mpegts_file_t *file, ngx_uint_t *audio_codec_id, ngx_uint_t mpegts_cc) { if (*audio_codec_id == NGX_RTMP_AUDIO_AAC) { ngx_memcpy(ngx_rtmp_mpegts_header+210, ngx_rtmp_mpegts_header_aac, sizeof(ngx_rtmp_mpegts_header_aac)); } //if (*audio_codec_id == NGX_RTMP_AUDIO_MP3) { else { ngx_memcpy(ngx_rtmp_mpegts_header+210, ngx_rtmp_mpegts_header_mp3, sizeof(ngx_rtmp_mpegts_header_mp3)); } // Truncate counter to 4 bits here mpegts_cc %= 0x0f; // And fill headers ngx_rtmp_mpegts_header[3] = (ngx_rtmp_mpegts_header[3] & 0xf0) + (u_char)mpegts_cc; ngx_rtmp_mpegts_header[191] = (ngx_rtmp_mpegts_header[191] & 0xf0) + (u_char)mpegts_cc; return ngx_rtmp_mpegts_write_file(file, ngx_rtmp_mpegts_header, sizeof(ngx_rtmp_mpegts_header)); }