Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
BC
public
mediastreamer2
Commits
c3d6a095
Commit
c3d6a095
authored
Oct 01, 2012
by
Simon Morlat
Browse files
set priority to ringer thread too
do not adapt ticker with time difference less than its interval
parent
28f57ace
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/audiostream.c
View file @
c3d6a095
...
...
@@ -882,6 +882,7 @@ RingStream * ring_start_with_cb(const char *file,int interval,MSSndCard *sndcard
int
tmp
;
int
srcrate
,
dstrate
;
MSConnectionHelper
h
;
MSTickerParams
params
=
{
0
};
stream
=
(
RingStream
*
)
ms_new0
(
RingStream
,
1
);
stream
->
source
=
ms_filter_new
(
MS_FILE_PLAYER_ID
);
...
...
@@ -910,9 +911,9 @@ RingStream * ring_start_with_cb(const char *file,int interval,MSSndCard *sndcard
ms_filter_call_method
(
stream
->
gendtmf
,
MS_FILTER_SET_NCHANNELS
,
&
tmp
);
ms_filter_call_method
(
stream
->
sndwrite
,
MS_FILTER_SET_NCHANNELS
,
&
tmp
);
stream
->
ticker
=
ms_ticker_new
()
;
ms_ticker_set_name
(
stream
->
ticker
,
"Audio (ring) MSTicker"
);
params
.
name
=
"Ring MSTicker"
;
params
.
prio
=
MS_TICKER_PRIO_HIGH
;
stream
->
ticker
=
ms_ticker_new_with_params
(
&
params
);
ms_connection_helper_start
(
&
h
);
ms_connection_helper_link
(
&
h
,
stream
->
source
,
-
1
,
0
);
...
...
src/msticker.c
View file @
c3d6a095
...
...
@@ -40,6 +40,8 @@ static const double smooth_coef=0.9;
#endif
#define TICKER_INTERVAL 10
void
*
ms_ticker_run
(
void
*
s
);
static
uint64_t
get_cur_time_ms
(
void
*
);
...
...
@@ -54,7 +56,7 @@ static void ms_ticker_init(MSTicker *ticker, const MSTickerParams *params)
ticker
->
execution_list
=
NULL
;
ticker
->
ticks
=
1
;
ticker
->
time
=
0
;
ticker
->
interval
=
10
;
ticker
->
interval
=
TICKER_INTERVAL
;
ticker
->
run
=
FALSE
;
ticker
->
exec_id
=
0
;
ticker
->
get_cur_time_ptr
=&
get_cur_time_ms
;
...
...
@@ -516,8 +518,12 @@ double ms_ticker_synchronizer_set_external_time(MSTickerSynchronizer* ts, const
return
ts
->
av_skew
;
}
uint64_t
ms_ticker_synchronizer_get_corrected_time
(
MSTickerSynchronizer
*
ts
)
{
return
get_wallclock_ms
()
-
ts
->
av_skew
;
/* round skew to timer resolution in order to avoid adapt the ticker just with statistical "noise" */
int64_t
rounded_skew
=
(
((
int64_t
)
ts
->
av_skew
)
/
(
int64_t
)
TICKER_INTERVAL
)
*
(
int64_t
)
TICKER_INTERVAL
;
return
get_wallclock_ms
()
-
rounded_skew
;
}
void
ms_ticker_synchronizer_destroy
(
MSTickerSynchronizer
*
ts
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment