Some speed/seek functions are now gone, because they don't really make
sense for an audio playback.
Volume functions are now in, because this is useful
Use hash instead of arobas for seekpoint (fix #5022)
Instead of ignoring the URI anchor (if present), the input now parses
it for start and stop seek points. This is non-standard - anchors are
normally names found in HTML document. But at least, it does not
interfere with parsing real-world URLs (see the bug #5022 for example).
Also contrary to stream output chain, the hash symbol should be free of
shell quoting issues when used this.
Qt4: simplify and improve playlist item folder exploration
Unfortunately, there is currently no way to determine whether the
MRL scheme uses file paths (e.g. file, dir, vdr, zip...) or not, so
we always try.
Anyway, the folder browsing menu item should not be visible at all when
the item is not a local file. So there is no need to deal with that
failure care here.
Rob Jonson [Mon, 19 Sep 2011 14:37:58 +0000 (15:37 +0100)]
lua http: update browse command in lua http interface.
Refactor browse command to draw data from central model in httprequests.lua
add proper URI created by VLC's make_uri command to attributes in the browse data.
(this means that clients can simply use the correct URI for browse,open,enqueue commands,
rather than trying to convert paths to URI) accept file uri as input for browse command
(so that clients can completely ignore the path attribute) browse.xml displays data from
the model (fully backward compatible) browse.json provides alternative view of the same data
Martin Storsjö [Thu, 22 Sep 2011 11:42:46 +0000 (14:42 +0300)]
omxil: Set OMX version 1.0.0 on android
The Samsung OMX components on e.g. Nexus S require major == 1
and minor == 0, otherwise they simply return errors on all
SetParameter/GetParameter calls.
Stagefright's OMX client always sets version 1.0.0, which thus
probably should be a safe choice for all android cases.
An alternative would be to store the version to set as a
variable in decoder_sys_t, and set that to 1.0.0 conditionally
only for Samsung OMX components, but that would make
OMX_INIT_COMMON more complex.
Martin Storsjö [Wed, 21 Sep 2011 18:25:06 +0000 (21:25 +0300)]
omxil: Allow using IOMX on Android
This adds a fake OMX core implementation, relying the calls
via IOMX to the media server, which contains the actual
OMX core.
Building with IOMX requires private Android headers from the
Android source tree, namely the frameworks/base and
system/core repositories. (Either froyo or gingerbread
should work for building.) This API is not public, has no
ABI guarantees and isn't supported.
Linking also requires libraries extracted from a
froyo/gingerbread device or emulator.
Since there are no ABI guarantees, linking to this API might
make the .so fail to load on some devices, so for proper use
it should be in a dynamically loaded module, separate from the
rest of the VLC core and modules.
Since this can lead to crashes on unsupported devices, it should
only be used in production on whitelisted device/firmware
combinations that are known to work.
Martin Storsjö [Wed, 21 Sep 2011 08:19:07 +0000 (11:19 +0300)]
omxil: Push a dummy buffer on the input buffer fifo to avoid deadlocks
By pushing a sentinel/dummy buffer on the input buffer fifo
when the output needs reconfiguring, we avoid deadlocks on
HTC Sensation, where the input buffers aren't returned to
the caller until the decoder has been reconfigured.
Since all input buffers can be used up before the reconfigure event
is received, this earlier led to a deadlock where the decoder
waited for the caller to reconfigure it (as a response to the
reconfigure event), while the caller waited for an input buffer
to be freed to put the next input packet into.
Martin Storsjö [Wed, 21 Sep 2011 08:19:06 +0000 (11:19 +0300)]
omxil: Handle planes with a height larger than the frame height
The nSliceHeight parameter in OMX apparently can indicate plane
height. This shows up on Nexus One with recent CyanogenMod
with the OpenMAX driver built from source (as opposed to the
older ones with a binary-only OpenMAX driver).
Martin Storsjö [Wed, 21 Sep 2011 08:19:04 +0000 (11:19 +0300)]
omxil: Only print psz_role if OMX_ComponentRoleEnum succeeded
Earlier, an uninitialized string would be printed if
OMX_ComponentRoleEnum failed (or if it was unimplemented, see
omxil_utils.h), potentially leading to out of bounds reads.