First I will like to indicate if this post seems silly, I am not coder in writing application, only experience is minimal best, doing my degree which was in pascal and Java.
Here goes:
When trying to use mplayer, through Mplayer_Player, I am getting the following error in the log:
MPlayer engine didn't set up within 10 seconds, something is wrong <0xb7101b
90>
Return code: 141
3 12/03/09 19:12:19 26 (spawning-device) Device died... count=1/50 dev=26
,
From my investigation, I think the error is coming from this condition in the Mplayer_Player.cpp file, the error output highlighted.
if (m_pPlayerEngine->GetEngineState()==MPlayerEngine::PLAYBACK_FINISHED)
{
g_pPlayerInstance = this;
g_iMplayerChildPID = m_pPlayerEngine->GetChildPID();
struct sigaction new_action;
new_action.sa_sigaction = SignalHandler_CHLD;
new_action.sa_flags = SA_SIGINFO /*| SA_NOCLDSTOP*/;
sigaction(SIGCHLD, &new_action, NULL);
LoggerWrapper::GetInstance()->Write(LV_STATUS, "MPlayer - installed SIGCHLD handler");
signal(SIGPIPE, SignalHandler_PIPE);
LoggerWrapper::GetInstance()->Write(LV_STATUS, "MPlayer - installed SIGPIPE handler");
LoggerWrapper::GetInstance()->Write(LV_STATUS, "MPlayer engine initialized and ready to go");
}
else
LoggerWrapper::GetInstance()->Write(LV_CRITICAL, "MPlayer engine didn't set up within 10 seconds, something is wrong");
Prior to the above quote, the following suppose to insure the black file is finished played.
while (m_pPlayerEngine->GetEngineState()!=MPlayerEngine::PLAYBACK_FINISHED && iCounter!=0)
{
Sleep(100);
iCounter--;
}
I am stating the obvious, when saying the condition is returning false, in either the while - so it exists early and then the if fails or in the if condition so the else kicks in.
Any information - logic, on what supposed to happen in this line:
m_pPlayerEngine->GetEngineState()!=MPlayerEngine::PLAYBACK_FINISHED, found below in MPlayerEngine, have not fully gotten a handle on this
MPlayerEngine::EngineState MPlayerEngine::GetEngineState() {
PLUTO_SAFETY_LOCK(stateLock, m_engineStateMutex);
return m_eEngineState;
}
Also, In my ignorance is it possible the sleep time is to long, or the loop to short.
Once I get this to work, plan on editing to get mplayer working with vdpau, I know xine already works with beta2. Have not upgraded to beta2 as yet, fixing my test machine for that, so I know what is entailed, minimize transition for the family.
Is this fixed by chance in beta2?
Thanks for all assistance