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-05-20 18:11:33 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
2265173c4d3c895435d531177c32ad5226b9f9d5
2265173c
1 parent
5bb6e657
donot install tools when ffmpeg is not open, 0.9.108
隐藏空白字符变更
内嵌
并排对比
正在显示
5 个修改的文件
包含
125 行增加
和
85 行删除
trunk/auto/depends.sh
trunk/research/librtmp/srs_ingest_flv.c
trunk/src/core/srs_core.hpp
trunk/src/libs/srs_librtmp.cpp
trunk/src/libs/srs_librtmp.hpp
trunk/auto/depends.sh
查看文件 @
2265173
...
...
@@ -70,39 +70,41 @@ function Ubuntu_prepare()
echo
"install patch success"
fi
autoconf --help >/dev/null 2>&1;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"install autoconf"
require_sudoer
"sudo apt-get install -y --force-yes autoconf"
sudo apt-get install -y --force-yes autoconf;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install autoconf success"
fi
libtool --help >/dev/null 2>&1;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"install libtool"
require_sudoer
"sudo apt-get install -y --force-yes libtool"
sudo apt-get install -y --force-yes libtool;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install libtool success"
fi
if
[[
! -f /usr/include/pcre.h
]]
;
then
echo
"install libpcre3-dev"
require_sudoer
"sudo apt-get install -y --force-yes libpcre3-dev"
sudo apt-get install -y --force-yes libpcre3-dev;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install libpcre3-dev success"
fi
if
[[
! -f /usr/include/zlib.h
]]
;
then
echo
"install zlib1g-dev"
require_sudoer
"sudo apt-get install -y --force-yes zlib1g-dev"
sudo apt-get install -y --force-yes zlib1g-dev;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install zlib1g-dev success"
fi
if
[[
! -d /usr/include/freetype2
]]
;
then
echo
"install libfreetype6-dev"
require_sudoer
"sudo apt-get install -y --force-yes libfreetype6-dev"
sudo apt-get install -y --force-yes libfreetype6-dev;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install libfreetype6-dev success"
if
[
$SRS_FFMPEG_TOOL
=
YES
]
;
then
autoconf --help >/dev/null 2>&1;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"install autoconf"
require_sudoer
"sudo apt-get install -y --force-yes autoconf"
sudo apt-get install -y --force-yes autoconf;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install autoconf success"
fi
libtool --help >/dev/null 2>&1;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"install libtool"
require_sudoer
"sudo apt-get install -y --force-yes libtool"
sudo apt-get install -y --force-yes libtool;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install libtool success"
fi
if
[[
! -f /usr/include/pcre.h
]]
;
then
echo
"install libpcre3-dev"
require_sudoer
"sudo apt-get install -y --force-yes libpcre3-dev"
sudo apt-get install -y --force-yes libpcre3-dev;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install libpcre3-dev success"
fi
if
[[
! -f /usr/include/zlib.h
]]
;
then
echo
"install zlib1g-dev"
require_sudoer
"sudo apt-get install -y --force-yes zlib1g-dev"
sudo apt-get install -y --force-yes zlib1g-dev;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install zlib1g-dev success"
fi
if
[[
! -d /usr/include/freetype2
]]
;
then
echo
"install libfreetype6-dev"
require_sudoer
"sudo apt-get install -y --force-yes libfreetype6-dev"
sudo apt-get install -y --force-yes libfreetype6-dev;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install libfreetype6-dev success"
fi
fi
# for arm, install the cross build tool chain.
...
...
@@ -168,46 +170,48 @@ function Centos_prepare()
echo
"install patch success"
fi
automake --help >/dev/null 2>&1;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"install automake"
require_sudoer
"sudo yum install -y automake"
sudo yum install -y automake;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install automake success"
fi
autoconf --help >/dev/null 2>&1;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"install autoconf"
require_sudoer
"sudo yum install -y autoconf"
sudo yum install -y autoconf;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install autoconf success"
fi
libtool --help >/dev/null 2>&1;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"install libtool"
require_sudoer
"sudo yum install -y libtool"
sudo yum install -y libtool;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install libtool success"
fi
if
[[
! -f /usr/include/pcre.h
]]
;
then
echo
"install pcre-devel"
require_sudoer
"sudo yum install -y pcre-devel"
sudo yum install -y pcre-devel;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install pcre-devel success"
fi
if
[[
! -f /usr/include/zlib.h
]]
;
then
echo
"install zlib-devel"
require_sudoer
"sudo yum install -y zlib-devel"
sudo yum install -y zlib-devel;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install zlib-devel success"
fi
if
[[
! -d /usr/include/freetype2
]]
;
then
echo
"install freetype-devel"
require_sudoer
"sudo yum install -y freetype-devel"
sudo yum install -y freetype-devel;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install freetype-devel success"
if
[
$SRS_FFMPEG_TOOL
=
YES
]
;
then
automake --help >/dev/null 2>&1;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"install automake"
require_sudoer
"sudo yum install -y automake"
sudo yum install -y automake;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install automake success"
fi
autoconf --help >/dev/null 2>&1;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"install autoconf"
require_sudoer
"sudo yum install -y autoconf"
sudo yum install -y autoconf;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install autoconf success"
fi
libtool --help >/dev/null 2>&1;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then
echo
"install libtool"
require_sudoer
"sudo yum install -y libtool"
sudo yum install -y libtool;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install libtool success"
fi
if
[[
! -f /usr/include/pcre.h
]]
;
then
echo
"install pcre-devel"
require_sudoer
"sudo yum install -y pcre-devel"
sudo yum install -y pcre-devel;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install pcre-devel success"
fi
if
[[
! -f /usr/include/zlib.h
]]
;
then
echo
"install zlib-devel"
require_sudoer
"sudo yum install -y zlib-devel"
sudo yum install -y zlib-devel;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install zlib-devel success"
fi
if
[[
! -d /usr/include/freetype2
]]
;
then
echo
"install freetype-devel"
require_sudoer
"sudo yum install -y freetype-devel"
sudo yum install -y freetype-devel;
ret
=
$?
;
if
[[
0 -ne
$ret
]]
;
then return
$ret
;
fi
echo
"install freetype-devel success"
fi
fi
# for arm, install the cross build tool chain.
...
...
trunk/research/librtmp/srs_ingest_flv.c
查看文件 @
2265173
...
...
@@ -43,13 +43,18 @@ void close_flv_file(int flv_fd);
int
flv_open_ic
(
int
flv_fd
);
int
flv_read_packet
(
int
flv_fd
,
int
*
type
,
u_int32_t
*
timestamp
,
char
**
data
,
int
*
size
);
#define RE_PULSE_MS 300
int64_t
re_create
();
int64_t
re_update
(
int64_t
re
,
u_int32_t
time
);
void
re_update
(
int64_t
re
,
u_int32_t
time
);
int64_t
tools_main_entrance_startup_time
;
int
main
(
int
argc
,
char
**
argv
)
{
int
ret
=
0
;
// main function
tools_main_entrance_startup_time
=
srs_get_time_ms
();
// user option parse index.
int
opt
=
0
;
// user options.
...
...
@@ -118,8 +123,6 @@ int proxy(int flv_fd, srs_rtmp_t ortmp)
int
type
,
size
;
u_int32_t
timestamp
=
0
;
char
*
data
=
NULL
;
// re
int64_t
re
=
re_create
();
if
((
ret
=
flv_open_ic
(
flv_fd
))
!=
0
)
{
return
ret
;
...
...
@@ -128,6 +131,9 @@ int proxy(int flv_fd, srs_rtmp_t ortmp)
return
ret
;
}
// re
int64_t
re
=
re_create
();
trace
(
"start ingest flv to RTMP stream"
);
for
(;;)
{
if
((
ret
=
flv_read_packet
(
flv_fd
,
&
type
,
&
timestamp
,
&
data
,
&
size
))
!=
0
)
{
...
...
@@ -144,7 +150,7 @@ int proxy(int flv_fd, srs_rtmp_t ortmp)
verbose
(
"ortmp sent packet: type=%s, time=%d, size=%d"
,
srs_type2string
(
type
),
timestamp
,
size
);
re
=
re
_update
(
re
,
timestamp
);
re_update
(
re
,
timestamp
);
}
return
ret
;
...
...
@@ -177,17 +183,35 @@ int connect_oc(srs_rtmp_t ortmp)
int64_t
re_create
()
{
return
0
;
}
int64_t
re_update
(
int64_t
re
,
u_int32_t
time
)
{
if
(
time
-
re
>
500
)
{
usleep
((
time
-
re
)
*
1000
);
return
time
;
// if not very precise, we can directly use this as re.
int64_t
re
=
srs_get_time_ms
();
// use the starttime to get the deviation
int64_t
deviation
=
re
-
tools_main_entrance_startup_time
;
trace
(
"deviation is %d ms, pulse is %d ms"
,
(
int
)(
deviation
),
(
int
)(
RE_PULSE_MS
));
// so, we adjust time to max(0, deviation - pulse/4)
// because the last pulse, we never sleep, so we use pulse/4,
// for example, when EOF at the 120ms of last pulse,
// these bytes is additional data and to fill the deviation.
int
adjust
=
(
int
)(
deviation
-
(
RE_PULSE_MS
/
4
));
if
(
adjust
>
0
)
{
trace
(
"adjust re time, sub %d ms"
,
adjust
);
re
-=
adjust
;
}
else
{
trace
(
"no need to adjust re time"
);
}
return
re
;
}
void
re_update
(
int64_t
re
,
u_int32_t
time
)
{
int64_t
now
=
srs_get_time_ms
();
int64_t
diff
=
time
-
(
now
-
re
);
if
(
diff
>
RE_PULSE_MS
)
{
usleep
(
diff
*
1000
);
}
}
int
open_flv_file
(
char
*
in_flv_file
)
{
...
...
trunk/src/core/srs_core.hpp
查看文件 @
2265173
...
...
@@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
// current release version
#define VERSION_MAJOR "0"
#define VERSION_MINOR "9"
#define VERSION_REVISION "10
7
"
#define VERSION_REVISION "10
8
"
#define RTMP_SIG_SRS_VERSION VERSION_MAJOR"."VERSION_MINOR"."VERSION_REVISION
// server info.
#define RTMP_SIG_SRS_KEY "SRS"
...
...
trunk/src/libs/srs_librtmp.cpp
查看文件 @
2265173
...
...
@@ -35,6 +35,7 @@ using namespace std;
#include <srs_protocol_utility.hpp>
#include <srs_core_autofree.hpp>
#include <srs_protocol_rtmp_stack.hpp>
#include <srs_kernel_utility.hpp>
// if user want to define log, define the folowing macro.
#ifndef SRS_RTMP_USER_DEFINED_LOG
...
...
@@ -399,6 +400,12 @@ int srs_version_revision()
return
::
atoi
(
VERSION_REVISION
);
}
int64_t
srs_get_time_ms
()
{
srs_update_system_time_ms
();
return
srs_get_system_time_ms
();
}
#ifdef __cplusplus
}
#endif
...
...
trunk/src/libs/srs_librtmp.hpp
查看文件 @
2265173
...
...
@@ -154,6 +154,11 @@ int srs_version_major();
int
srs_version_minor
();
int
srs_version_revision
();
/**
* utilities
*/
extern
int64_t
srs_get_time_ms
();
#ifdef __cplusplus
}
#endif
...
...
请
注册
或
登录
后发表评论