ServiceMP3: Optimize GStreamer start sequence
authorAthanasios Oikonomou <athoik@gmail.com>
Sun, 22 Nov 2015 10:12:30 +0000 (12:12 +0200)
committerErik Slagter <erik@openpli.org>
Sat, 28 Nov 2015 16:50:06 +0000 (17:50 +0100)
commit37ce377d4fa7e6d0b6b97cdf79ffaa6af62c377d
treebbf66d63e2c92289d050aad0b07363a8a8398ee7
parente4e7e65c417df6c74c5aba3aa409b587d4f4042a
ServiceMP3: Optimize GStreamer start sequence

On start set PLAYING state and check return value of the change state.
On stop make sure that last change state was sucessfull, it prevents deadlock on fast channel zap.
When unpause is called make sure that we are in paused state before change state.
Move evStart event in NULL to READY state and update EPG on READY to PAUSED state.

Note: The get state on stop might block forever, so use 5 seconds timeout.
Note:  The m_state change to running when pipeline is prerolled, on ready to paused state.
(cherry picked from commit 7b64e9f1695786baf658f3e55fbcdc4084ca6120)
Signed-off-by: Erik Slagter <erik@openpli.org>
lib/service/servicemp3.cpp
lib/service/servicemp3.h