KO Myung-Hun [Mon, 23 Feb 2015 13:27:57 +0000 (22:27 +0900)]
logger: fix compilation on OS/2
-----
CC logger/console.lo
logger/console.c: In function 'Open':
logger/console.c:115:5: error: implicit declaration of function 'isatty' [-Werror=implicit-function-declaration]
if (isatty(STDERR_FILENO) && var_InheritBool(obj, "color"))
^
logger/console.c:115:16: error: 'STDERR_FILENO' undeclared (first use in this function)
if (isatty(STDERR_FILENO) && var_InheritBool(obj, "color"))
^
logger/console.c:115:16: note: each undeclared identifier is reported only once for each function it appears in
cc1.exe: some warnings being treated as errors
-----
fixes #13967
* Recenters everything that depends on program: Time, timerolls, hacks...
* Removes PCR probing, programless timeroll handling
with a simplier fix (won't work with 2x26 hours recording, but..)
* Better probing of program duration (not based on inter PCR). More accurate,
at best by 1 frame length.
* Changes seek handling and bisects only on request (removes the whole file probing)
* No longer creates ES at preparse time
* Simplify/Unify dual program selection list and don't trust default program at first
* Many numerous other fixes
Now we no longer update times and statistics in the control loop
(where it was kinda pointless). If there is no wake-up from the ES
output, then the input thread only needs to wait for control requests
- which means it can sleep without time-out.
In practice, that corresponds to the input thread being paused and
not buffering (buffering while paused is possible due to seek).
The values will typically not change while waiting for control requests
and not processing the demux and outputs. Even if the values do change
(e.g. due to a seek request), the demux needs to be called to recompute
the updated values: see demux_Control() calls in MainLoopStatistics().
Note that the intrinsic computational savings from this commit are
probably negligible. The interesting aspect is the removal of one
wake-up source within the input control loop. This commit does not
remove nor add any wake-up however.
es_format: return an error if es_format_Copy() partially fails
Consistent with historical semantics, the destination format will
be incomplete but valid if the copy fails. It must be cleared with
es_format_Clean() even in case of error (as before).
Also add a few assertions against invalid formats.
Skips 20 minutes, then records 5 minutes to sport.ts, then 5 more
minutes to weather.ts and restarts.
"duration" specifies the duration of the previous phase
"offset" specifies the offset at which the previous phase ends
and the next phase begins
(mutually exclusive with duration)
"dst" specifies the stream output chain for the phase
(if missing, the phase is skipped/discarded)
Durations and offsets are so far expressed as an integer, optionally
followed by a unit: w=week, d=day, h=hour, m=minute, s=second. Second
is the default.
Currently only the decoding time stamp can be used as a reference, but
adding local or UTC clocks should be relatively easy.
ES synchronization and reference frames management is left for
further study.
Thomas Guillem [Fri, 20 Feb 2015 16:27:40 +0000 (17:27 +0100)]
audiotrack: JNIThread is created/joined in Open/Close
Fix Start called after a Stop (When audio track changes).
- JNIThread won't kill itself anymore: In case of error, it will wait for the
Stop cmd.
- Handle AudioTrack exceptions: don't call audiotrack methods if an exception
occurred.
Vinson Lee [Fri, 20 Feb 2015 06:05:09 +0000 (06:05 +0000)]
rdp: Support FreeRDP-1.2.0-beta1-android9
Fix build errors.
CC access/librdp_plugin_la-rdp.lo
access/rdp.c: In function ‘Open’:
access/rdp.c:431:5: error: implicit declaration of function ‘freerdp_channels_global_init’ [-Werror=implicit-function-declaration]
freerdp_channels_global_init();
^
access/rdp.c: In function ‘Close’:
access/rdp.c:507:5: error: implicit declaration of function ‘freerdp_channels_global_uninit’ [-Werror=implicit-function-declaration]
freerdp_channels_global_uninit();
^
Thomas Guillem [Fri, 20 Feb 2015 09:00:16 +0000 (09:00 +0000)]
vout: set an i_order to subpictures when they are rendered
This i_order can be used by vout display modules to easily compare subpictures.
That way, a module can bypass a subpicture rendering if it has been previously
rendered.
Thomas Guillem [Fri, 20 Feb 2015 09:13:37 +0000 (10:13 +0100)]
audiotrack: increase audio latency
Queue more than one audio buffer at a time (limit of 1 second). TimeGet will
report a bigger delay, but the module will be more stable and more efficient.
AudioTrack delay is now calculated by JNIThread when a buffer is written.
Overall delay is calculated in TimeGet by adding AudioTrack delay and queued
delay.
This might suppress some warnings (and very slightly reduce code size)
when assertions are disabled. Not that I particularly like to create
VLC-specific macros.