Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
胡斌
/
srs
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
winlin
2014-07-06 17:32:48 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
96e0273e9985dbd79c2bdd60363228442b0ea103
96e0273e
1 parent
e5e27299
refine hls, extract the flv/aac sample rates
显示空白字符变更
内嵌
并排对比
正在显示
4 个修改的文件
包含
42 行增加
和
23 行删除
trunk/src/app/srs_app_hls.cpp
trunk/src/app/srs_app_hls.hpp
trunk/src/app/srs_app_source.cpp
trunk/src/rtmp/srs_protocol_handshake.hpp
trunk/src/app/srs_app_hls.cpp
查看文件 @
96e0273
...
...
@@ -76,6 +76,22 @@ using namespace std;
// in ms, for HLS aac flush the audio
#define SRS_CONF_DEFAULT_AAC_DELAY 100
// 0 = 5.5 kHz = 5512 Hz
// 1 = 11 kHz = 11025 Hz
// 2 = 22 kHz = 22050 Hz
// 3 = 44 kHz = 44100 Hz
int
flv_sample_rates
[]
=
{
5512
,
11025
,
22050
,
44100
};
// the sample rates in the codec,
// in the sequence header.
int
aac_sample_rates
[]
=
{
96000
,
88200
,
64000
,
48000
,
44100
,
32000
,
24000
,
22050
,
16000
,
12000
,
11025
,
8000
,
7350
,
0
,
0
,
0
};
// @see: ngx_rtmp_mpegts_header
u_int8_t
mpegts_header
[]
=
{
/* TS */
...
...
@@ -377,21 +393,11 @@ SrsHlsAacJitter::~SrsHlsAacJitter()
int64_t
SrsHlsAacJitter
::
on_buffer_start
(
int64_t
flv_pts
,
int
sample_rate
,
int
aac_sample_rate
)
{
// 0 = 5.5 kHz = 5512 Hz
// 1 = 11 kHz = 11025 Hz
// 2 = 22 kHz = 22050 Hz
// 3 = 44 kHz = 44100 Hz
static
int
flv_sample_rates
[]
=
{
5512
,
11025
,
22050
,
44100
};
// use sample rate in flv/RTMP.
int
flv_sample_rate
=
flv_sample_rates
[
sample_rate
&
0x03
];
//
reset
the sample rate by sequence header
//
override
the sample rate by sequence header
if
(
aac_sample_rate
!=
_SRS_AAC_SAMPLE_RATE_UNSET
)
{
static
int
aac_sample_rates
[]
=
{
96000
,
88200
,
64000
,
48000
,
44100
,
32000
,
24000
,
22050
,
16000
,
12000
,
11025
,
8000
,
7350
,
0
,
0
,
0
};
flv_sample_rate
=
aac_sample_rates
[
aac_sample_rate
];
}
...
...
trunk/src/app/srs_app_hls.hpp
查看文件 @
96e0273
...
...
@@ -48,6 +48,16 @@ class SrsSource;
class
SrsFileWriter
;
/**
* the flv sample rate map
*/
extern
int
flv_sample_rates
[];
/**
* the aac sample rate map
*/
extern
int
aac_sample_rates
[];
/**
* jitter correct for audio,
* the sample rate 44100/32000 will lost precise,
* when mp4/ts(tbn=90000) covert to flv/rtmp(1000),
...
...
trunk/src/app/srs_app_source.cpp
查看文件 @
96e0273
...
...
@@ -1082,15 +1082,8 @@ int SrsSource::on_audio(SrsMessage* audio)
return
ret
;
}
static
int
flv_sample_rates
[]
=
{
5512
,
11025
,
22050
,
44100
,
0
};
static
int
flv_sample_sizes
[]
=
{
8
,
16
,
0
};
static
int
flv_sound_types
[]
=
{
1
,
2
,
0
};
static
int
aac_sample_rates
[]
=
{
96000
,
88200
,
64000
,
48000
,
44100
,
32000
,
24000
,
22050
,
16000
,
12000
,
11025
,
8000
,
7350
,
0
,
0
,
0
};
srs_trace
(
"%dB audio sh, "
"codec(%d, profile=%d, %dchannels, %dkbps, %dHZ), "
"flv(%dbits, %dchannels, %dHZ)"
,
...
...
trunk/src/rtmp/srs_protocol_handshake.hpp
查看文件 @
96e0273
...
...
@@ -41,11 +41,21 @@ namespace _srs_internal
/**
* the schema type.
*/
enum
srs_schema_type
{
srs_schema0
=
0
,
// key-digest sequence
// @remark, FMS requires the schema1(digest-key), or connect failed.
srs_schema1
=
1
,
// digest-key sequence
enum
srs_schema_type
{
srs_schema_invalid
=
2
,
/**
* key-digest sequence
*/
srs_schema0
=
0
,
/**
* digest-key sequence
* @remark, FMS requires the schema1(digest-key), or connect failed.
*/
//
srs_schema1
=
1
,
};
/**
...
...
请
注册
或
登录
后发表评论