[Bug 190707] New: Phonon::KioMediaStream failure to set error text when KIOJob returns error

View: New views
4 Messages — Rating Filter:   Alert me  

[Bug 190707] New: Phonon::KioMediaStream failure to set error text when KIOJob returns error

by David Jarvie-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

https://bugs.kde.org/show_bug.cgi?id=190707

           Summary: Phonon::KioMediaStream failure to set error text when
                    KIOJob returns error
           Product: Phonon
           Version: unspecified
          Platform: Compiled Sources
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: NOR
         Component: general
        AssignedTo: kretz@...
        ReportedBy: djarvie@...


Version:            (using KDE 4.2.2)
Compiler:          gcc 4.3
OS:                Linux
Installed from:    Compiled From Sources

When Phonon::MediaObject::play() tries to open a non-existent audio file, debug
messages from KioMediaStreamPrivate show an error

"The file or folder <...filename...> does not exist.".

But sometimes, although the MediaObject gets a signal that its state has
changed to Phonon::ErrorState, the error text returned by
MediaObject::errorString() is empty. Other times, the correct error text is
returned. It seems to work about half of the time, so it's presumably some
timing or sequencing issue that prevents it working reliably.

In the debug output below which shows the sequence of events,
AudioThread::playStateChanged(Phonon::State) is a slot which is called by the
MediaObject::stateChanged(Phonon::State, Phonon::State) signal. It receives the
change in MediaObject::state() to Phonon::ErrorState, but the error text which
it tries to retrieve is empty. Later on, before deleting the MediaObject, the
state has returned to Phonon::LoadingState and the errorString() still returns
an empty string (which may well be by design, of course).

kalarm(5627)/phonon (KDE plugin) Phonon::KioMediaStream::KioMediaStream:        
kalarm(5627)/phonon (KDE plugin) Phonon::KioMediaStream::reset:                
kalarm(5627)/phonon (KDE plugin) Phonon::KioMediaStream::reset:                
kalarm(5627)/kio (Slave) KIO::Slave::createSlave: createSlave "file" for
KUrl("file:///home/fanisatt/Swallows of April_fin.wav")                        
kalarm(5627)/kio (KIOConnection) KIO::ConnectionServer::listenForRemote:
Listening on  "local:/tmp/ksocket-david/kalarmTJ5627.slave-socket"              
kalarm(5627)/kio (KIOJob) KIO::SlaveInterface::dispatch: error  111  
"/home/fanisatt/Swallows of April_fin.wav"
kalarm(5627)/phonon (KDE plugin)
Phonon::KioMediaStreamPrivate::_k_bytestreamResult: KIO Job error: "The file or
folder /home/fanisatt/Swallows of April_fin.wav does not exist."
kalarm(5627)/phonon (KDE plugin)
Phonon::KioMediaStreamPrivate::_k_bytestreamResult: KIO Job is done (will
delete itself) and d->kiojob reset to 0
kalarm(5627) AudioThread::playStateChanged: STATE CHANGE -> 5
kalarm(5627) AudioThread::playStateChanged: ERROR: ""

--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.

[Bug 190707] Phonon::KioMediaStream failure to set error text when KIOJob returns error

by David Jarvie-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

https://bugs.kde.org/show_bug.cgi?id=190707





--- Comment #1 from David Jarvie <djarvie kde org>  2009-04-26 15:52:39 ---
It turns out that in the playStateChanged() slot which is triggered by
MediaObject::stateChanged(), MediaObject::state() shows  Phonon::LoadingState
and not Phonon::ErrorState when the text returned by MediaObject::errorString()
is empty - even though the new state supplied as a parameter to the slot is
Phonon::ErrorState.

This seems to indicate that the MediaObject state (and error text) changes
between the time the signal is emitted and the slot being called. Note that in
my application, the MediaObject is in the same thread as the playStateChanged()
slot, so the problem seems to lie in Phonon and its threads.

--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.

[Bug 190707] Phonon::KioMediaStream failure to set error text when KIOJob returns error

by Bugzilla from myriam@kde.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

https://bugs.kde.org/show_bug.cgi?id=190707


Myriam Schweingruber <myriam@...> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |sandsmark@...
            Version|unspecified                 |4.3.0 (KDE 4.2.0)




--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.

[Bug 190707] JJ: Phonon::KioMediaStream failure to set error text when KIOJob returns error

by Bugzilla from myriam@kde.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

https://bugs.kde.org/show_bug.cgi?id=190707


Myriam Schweingruber <myriam@...> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |junior-jobs
            Summary|Phonon::KioMediaStream      |JJ: Phonon::KioMediaStream
                   |failure to set error text   |failure to set error text
                   |when KIOJob returns error   |when KIOJob returns error




--- Comment #2 from Myriam Schweingruber <myriam kde org>  2009-11-08 16:49:23 ---
Marked as JJ

--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.