GStreamer supports a wide variety of media-handling components, including simple audio playback, audio and video playback, recording, streaming and editing. The pipeline design serves as a base to create many types of multimedia applications such as video editors, transcoders, streaming media broadcasters and media players.
It is designed to work on a variety of operating systems, e.g. Linux kernel-based operating systems (like Enigma2), the BSDs, OpenSolaris, Android, macOS, iOS, Windows, OS/400.
GStreamer is free and open-source software subject to the terms of the GNU Lesser General Public License (LGPL) and is being hosted at freedesktop.org.
OpenPLi and GStreamer
GStreamer is native in OpenPLi, meaning it's already in there when you installed OpenPLi on your box and when you view a recording you will be using it. Although GStreamer is highly flexible a setopbox is not designed to be a media player. You can use it as a media player, but there may be problems.
The best way to return to a certain part of a recorded movie is to use the Skip time keys on your remote.
When you want to look at external movies, meaning not the ones you recorded with your box, then it's always recommended to mux subtitles into the container. To mux means to combine different things (like a video stream, audio stream, or subtitle) into a single container media format, like MKV, AVI, etc. When you have muxed subs, that means the subtitles were externally added to the media container you have, this always gives a better result than separate subtitle files.
Tools to mux subtitles
OpenPLi and GStreamer versions
OpenPLi 4 with GStreamer 0.10.x
OpenPLi 5 with GStreamer 1.8.3
OpenPLi 6.0 with GStreamer 1.12.0
OpenPLi 6.X with GStreamer 1.12.4
OpenPLi 7.X with GStreamer 1.14.4
Remote debugging is possible, So then you don't need to install dbg packages, also symbols are loaded on host, so you will certainly not run out of memory.
1. Install gdbserver
opkg install gdbserver
2. start gdbserver
gdbserver localhost:2345 /usr/bin/enigma2
1. setup cross-development environment, toolchain, and sysroot:
MACHINE=machine bitbake image_name -c populate_sdk cd openpli-oe-core/build/tmp/sdk ./oecore-x86_64-mips32el-toolchain-nodistro.0.sh #select your $SDK directory
2. setup your environment
3. enter directory with enigma2 with debugging symbols
4. create .gdbinit file with sysroot set at $SDK/sysroots/mips32el-oe-linux
echo "set sysroot $SDK/sysroots/mips32el-nf-oe-linux/" > .gdbinit
5. start gdb
6. in gdb connect to target
(gdb) target remote target-host:2345 (gdb) continue