Edward Wang [Thu, 14 Mar 2013 15:32:24 +0000 (15:32 +0000)]
Correct widespread misuse of the word 'subtitle'
Subtitle is the adjective describing what kind of text. So "subtitle text" is an adjective phrase describing what kind of encoding.
For example, we don't listen to "audios tracks", program "videos codecs", or open "playlists files". Therefore, use the correct form of the word subtitle for the context.
Signed-off-by: Felix Paul Kühne <fkuehne@videolan.org>
Martin Storsjö [Fri, 22 Mar 2013 08:52:06 +0000 (10:52 +0200)]
omxil_vout: Generalize and fix the stride/slice height calculations
On the raspberry pi, the stride is filled in with the right value,
while the slice height is left untouched (and needs to be rounded
up to a multiple of 16).
This fixes rendering of more uncommon resolutions.
Ronald Wright [Wed, 20 Mar 2013 23:10:01 +0000 (18:10 -0500)]
equalizer: increase precision of frequency centers in debug output
Currently, one of the debug lines in the equalizer module prints out center
frequency values truncated (not rounded) to zero decimal places, and when VLC
is set to use ISO center frequencies, this causes some level of disagreement
between the depiction of the truncated frequencies in the module debug output
and the depiction of the rounded frequencies in the Qt GUI labels. The 62.5 Hz
ISO center frequency is one of these frequencies, where we have 62 Hz shown in
the debug output and 63 Hz shown in the Qt GUI. This patch fixes the issue by
displaying the center frequencies in the debug output as real values rounded to
the nearest hundredth.
Erwan Tulou [Wed, 20 Mar 2013 00:16:11 +0000 (01:16 +0100)]
aout: remove what should be an unneeded update of "mute"
if aout_MuteSet returns successfully, the "mute" variables at the aout
and playlist levels have already been updated via a call to aout_MuteReport.
This late update was a hack to make things work when a audio output driver
forgets to call aout_MuteReport. So this patch may bring regression for those
audio output drivers that still forget to call aout_MuteReport and yet
terminate successfully. This is likely to occur in corner cases, for instance
when no stream is available as was the case for pulse.c
libvlc: simplify and clean up external logging API (fixes #8129)
- Scope the callback to its instance.
- Avoid leaking the layout of an internal data structure.
- Future-proof passing of extra informations through an opaque pointer.
Martin Storsjö [Mon, 18 Mar 2013 19:37:15 +0000 (21:37 +0200)]
omxil: Feed input data in multiple buffers if needed
This fixes decoding of higher resolution content on the raspberry
pi, where the decoder defaults to 80 KB input buffers and doesn't
react if trying to enlarge them in
ImplementationSpecificWorkarounds().
Unfortunately, since the modules bank uses logging, and provides the
configuration, the message settings cannot be stored in the
configuration file. All messages could be removed from the bank but
that would hurt debugging in some cases :-/
Martin Storsjö [Mon, 11 Mar 2013 14:52:21 +0000 (16:52 +0200)]
omxil: Use the alternative 64 bit integer ABI on the raspberry pi
This changes how some structs are laid out.
Most of OMX API implementation on the raspberry pi runs on the
VideoCore processor and not on the normal ARM thar runs the
userland. Some OMX structs are passed over to this processor as
whole blocks, so the OMX ABI used in the userland is tied to be the
same as the one used by the VideoCore firmware.
Martin Storsjö [Mon, 11 Mar 2013 14:52:13 +0000 (16:52 +0200)]
omxil: Signal OMX version 1.1.2 when targeting raspberry pi
The broadcom OMX IL core requires this in order to respond to
requests.
In principle, this shouldn't probably break other OMX implementations,
unless they are picky about it in the same way, requiring version
1.1.1, but still keeping it behind ifdefs just in case.
Martin Storsjö [Mon, 11 Mar 2013 14:51:47 +0000 (16:51 +0200)]
omxil: Try to load the broadcom OMX IL core and host library on the raspberry pi
The host library is intentionally not unloaded, since it starts
background threads when initialized, and the deinit function does
not stop the threads. Therefore, this library cannot be unloaded
once loaded and initialized.
Martin Storsjö [Mon, 11 Mar 2013 14:52:20 +0000 (16:52 +0200)]
omxil: Add an omxil based video output module
This is kept under modules/codes/omxil due to sharing much code
with the omxil codec.
This is only tested with the OMX.broadcom.video_render component
on the Raspberry Pi so far, which in itself doesn't advertise any
roles at all, so this could possibly use the "iv_renderer.yuv.overlay"
role instead of plan "iv_renderer".
But it should be possible to generalize this further and adapt it to
any OMX IL video renderer component.
Martin Storsjö [Mon, 11 Mar 2013 14:51:41 +0000 (16:51 +0200)]
omxil: Split omx core management to a separate file
The point of the omx core management is to try to load and init the
OMX core once, even if there's multiple e.g. decoder instances. The
reason for this is that there are OMX cores where the deinit function
will deinitialize the whole core on the first deinit call, even if
init has been called twice.
If this file is to be built as part of multiple separate shared
plugins, each of the plugins will initialize the OMX core separately,
which could cause issues with such OMX cores.
Since the second plugin that uses the OMX core, an OMX vout plugin,
isn't used automatically, and the only OMX implementation it currently
is tested to actually work with (the Broadcom OMX core on Raspberry
Pi) doesn't have issues with being uninitialized multiple times,
there's no need to jump through hoops to fix this theoretical issue
right now though.
For reference, if we really want to make sure the omx core is loaded
and initialized only once, the plugins need to be loaded with
RTLD_GLOBAL and all the variables in omxil_core.c need to be marked
with __attribute__ ((visibility ("default"))). But that's generally
not an option, and shouldn't be necessary right now at least.
Ilkka Ollakka [Sun, 17 Mar 2013 15:45:46 +0000 (17:45 +0200)]
livehttp: tell if playlist is vod
Mark EXT-X-PLAYLSIT-TYPE:EVENT if it's still under generating and at the
end, mark it as VOD in cases where we keep all the segments and those
are in playlist.