Bug 162926

Summary: OSS4 is not supported
Product: [Frameworks and Libraries] Phonon Reporter: Rosetzky Cedric <loacoon>
Component: Xine backendAssignee: Matthias Kretz <kretz>
Status: RESOLVED LATER    
Severity: normal CC: seajey.serg
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: full lshal output
phonondevicesrc

Description Rosetzky Cedric 2008-05-31 00:38:09 UTC
Version:            (using Devel)
Installed from:    Compiled sources
Compiler:          GCC-4.2.3 
OS:                Linux

With an OSS driver (NVidia NVsound driver), phonon Xine backend doesn't make any sound.
Comment 1 Matthias Kretz 2008-05-31 18:56:13 UTC
On Saturday 31 May 2008, Rosetzky Cedric wrote:
> With an OSS driver (NVidia NVsound driver), phonon Xine backend doesn't
> make any sound.


Did you activate OSS in the backend tab? Per default OSS is disabled on 
Linux...
Comment 2 Rosetzky Cedric 2008-05-31 19:02:43 UTC
If it's the "Show OSS devices" option, yes it's activated.
Comment 3 Matthias Kretz 2008-06-02 10:28:39 UTC
Ok, then you need to give me all information you can gather since I've not 
seen an OSS driver in use since many years.
Comment 4 Rosetzky Cedric 2008-06-02 16:29:46 UTC
Hmm yes, but what kind of informations do you need?
Comment 5 Rosetzky Cedric 2008-06-11 07:39:00 UTC
Are you still there???
Comment 6 Rosetzky Cedric 2008-06-18 17:31:06 UTC
Any news?
Comment 7 Matthias Kretz 2008-06-18 22:58:05 UTC
Sorry, I didn't look into this issue for some time, but while reviewing some 
of my 4.0 -> 4.1 changes I saw an issue and recalled your bugreport.

Please try the following:
open $KDEHOME/share/config/phonon_platform_kde and add

[Settings]
showOssDevices=true

The file shouldn't exist - there's no code that writes it...
Comment 8 Rosetzky Cedric 2008-06-18 23:27:47 UTC
I created the file and added the option, but there was no change. No new device is shown, and there is no sound using amarok 2 or the KDE notifications system.

Here is the console output, when trying to play a sound in the notifications config screens of systemsettings :

systemsettings(20544)/phonon (audiodevicelist) Phonon::AudioDeviceEnumerator::availablePlaybackDevices: ()                                                                            
systemsettings(20544)/phonon (audiodevicelist) Phonon::AudioDeviceEnumerator::availablePlaybackDevices: ()                                                                            
systemsettings(20544)/phonon (xine backend) Phonon::Xine::AudioPort::AudioPort: use output plugin: "pulseaudio"                                                                       
systemsettings(20544)/phonon (xine backend) Phonon::Xine::AudioPort::AudioPort: ----------------------------------------------- audio_port created                                    
systemsettings(20544)/phonon (xine backend) Phonon::Xine::AudioOutput::setOutputDevice: new audio port is invalid                                                                     
systemsettings(20544)/phonon (audiodevicelist) Phonon::AudioDeviceEnumerator::availablePlaybackDevices: ()                                                                            
systemsettings(20544)/phonon (audiodevicelist) Phonon::AudioDeviceEnumerator::availablePlaybackDevices: ()                                                                            
systemsettings(20544)/phonon (xine backend) Phonon::Xine::AudioPort::AudioPort: use output plugin: "jack"                                                                             
systemsettings(20544)/phonon (xine backend) Phonon::Xine::AudioPort::AudioPort: ----------------------------------------------- audio_port created                                    
systemsettings(20544)/phonon (xine backend) Phonon::Xine::AudioOutput::setOutputDevice: new audio port is invalid                                                                     
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::event: ################################ Event:  TransitionTypeChanged                                           
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::event: ################################ Event:  SetTickInterval                                                 
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::event: ################################ Event:  SetPrefinishMark                                                
systemsettings(20544)/phonon (xine backend) Phonon::Xine::Backend::connectNodes:           
systemsettings(20544)/phonon (xine backend) Phonon::Xine::AudioOutput::graphChanged:       
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::event: ################################ Event:  UpdateVolume                                                    
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineThread::event: XineThread Rewire event:                                                                                 
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineThread::event:       true  ->  true                                                                                     
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::setMrl: "file:///home/loacoon/Program-Files/KDE4/share/sounds/KDE-Sys-List-Match-No.ogg" ,  1                   
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::event: ################################ Event:  MrlChanged                                                      
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::createStream: MediaObject is connected to  1  nodes                                                             
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::createStream: creating xine_stream with null audio port                                                         
systemsettings(20544)/phonon (xine backend) Phonon::Xine::MediaObject::play:  PLAY         
systemsettings(20544)/phonon (xine backend) Phonon::Xine::MediaObject::startToFakeBuffering:  start faking                                                                            
systemsettings(20544)/phonon (xine backend) Phonon::Xine::MediaObject::startToFakeBuffering: fake state change: reached BufferingState after  LoadingState                            
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::createStream: creating xine_stream with null video port                                                         
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::createStream: XINE_PARAM_EARLY_FINISHED_EVENT: 1                                                                
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::event: calling xineOpen from MrlChanged                                                                         
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineEngine::xineEventListener: XINE_EVENT_UI_CHANNELS_CHANGED                                                               
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineEngine::xineEventListener: XINE_EVENT_UI_CHANNELS_CHANGED                                                               
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineEngine::xineEventListener: XINE_EVENT_UI_CHANNELS_CHANGED                                                               
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::xineOpen: xine_open succeeded for m_mrl = file:///home/loacoon/Program-Files/KDE4/share/sounds/KDE-Sys-List-Match-No.ogg                                                                                   
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::getStreamInfo: available titles changed:  0                                                                     
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::getStreamInfo: available chapters changed:  0                                                                   
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::getStreamInfo: available angles changed:  0                                                                     
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::event: ################################ Event:  PlayCommand                                                     
systemsettings(20544)/phonon (xine backend) Phonon::Xine::MediaObject::handleAvailableTitlesChanged: 0                                                                                
systemsettings(20544)/phonon (xine backend) Phonon::Xine::MediaObject::handleStateChange:  end faking                                                                                 
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::event: ################################ Event:  UiChannelsChanged                                               
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::event: available subtitles changed:  0                                                                          
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::event: available audio channels changed:  1                                                                     
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::event: current angle changed:  0                                                                                
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::event: current chapter changed:  0                                                                              
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::event: current title changed:  0                                                                                
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::event: ################################ Event:  UiChannelsChanged                                               
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::event: ################################ Event:  UiChannelsChanged                                               
systemsettings(20544)/phonon (xine backend) Phonon::Xine::MediaObject::handleStateChange: reached  PlayingState  after  BufferingState
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::event: ################################ Event:  MediaFinished
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::event: MediaFinishedEvent m_useGaplessPlayback =  true
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::event: ################################ Event:  GaplessSwitch
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineStream::event: no GaplessSwitch
systemsettings(20544)/phonon (xine backend) Phonon::Xine::MediaObject::handleStateChange: reached  StoppedState  after  PlayingState
systemsettings(20544)/phonon (xine backend) Phonon::Xine::MediaObject::handleFinished: emit finished()
systemsettings(20544)/phonon (xine backend) Phonon::Xine::Backend::disconnectNodes:
systemsettings(20544)/phonon (xine backend) Phonon::Xine::AudioOutput::graphChanged:
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineThread::event: XineThread Rewire event:
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineThread::event:       true  ->  true
systemsettings(20544)/phonon (xine backend) Phonon::Xine::AudioPortData::~AudioPortData: ----------------------------------------------- audio_port destroyed
systemsettings(20544)/phonon (xine backend) Phonon::Xine::XineEngine::xineEventListener: XINE_EVENT_QUIT
Comment 9 Rosetzky Cedric 2008-06-18 23:29:50 UTC
Maybe I should have added it into a text file... I didn't see it was that long, sorry...
Comment 10 Matthias Kretz 2008-06-18 23:53:00 UTC
Hmm, you seem to have another problem. I guess HAL is unable to list real OSS 
devices.

Please check whether lshal lists your soundcard. Please attach all relevant 
lshal output.
Comment 11 Rosetzky Cedric 2008-06-19 00:14:24 UTC
I can's see the full list, it's too long and console cuts it. Is there a way to have the this list uncut?
Comment 12 Rosetzky Cedric 2008-06-19 00:19:16 UTC
By the way, Kinfocenter finds it in the PCI part. But the Sound part says that there is no informations about my sound card...
Comment 13 Rosetzky Cedric 2008-06-19 00:20:21 UTC
I also tried the Gstreamer backend. It's buggy and the sound is crappy as hell, but it works.
Comment 14 Matthias Kretz 2008-07-18 16:35:07 UTC
run
$ lshal > hal-dump
and attach the resulting file to this report. All OSS issues on the KDE side should be fixed since today (i.e. when there's no ALSA devices OSS devices will show up automatically).
Comment 15 Rosetzky Cedric 2008-08-06 07:09:44 UTC
I changed my computer and switched to ALSA, I can't verify, sorry.
Comment 16 Sergei Andreev 2008-11-14 21:46:59 UTC
I'm using oss v4.1rc2 on kubuntu 8.10 kde 4.1.3 
Audio card - M-Audio Revolution 5.1

The only sound I can get in amarok2/System sounds is with gstreamer phonon backend.
But this backend is not usable because sound become crappy on even momentary high processor load. 

So xine is the only hope - amarok 1.4 works quite good with it.

The relevant part of lshal output:

udi = '/org/freedesktop/Hal/devices/pci_1412_1724'
  info.linux.driver = 'oss_envy24ht'  (string)
  info.parent = '/org/freedesktop/Hal/devices/pci_10de_6c'  (string)
  info.product = 'VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller'  (string)
  info.subsystem = 'pci'  (string)
  info.udi = '/org/freedesktop/Hal/devices/pci_1412_1724'  (string)
  info.vendor = 'VIA Technologies Inc.'  (string)
  linux.hotplug_type = 2  (0x2)  (int)
  linux.subsystem = 'pci'  (string)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:08.0/0000:01:09.0'  (string)
  pci.device_class = 4  (0x4)  (int)
  pci.device_protocol = 0  (0x0)  (int)
  pci.device_subclass = 1  (0x1)  (int)
  pci.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:08.0/0000:01:09.0'  (string)
  pci.product = 'VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller'  (string)
  pci.product_id = 5924  (0x1724)  (int)
  pci.subsys_product_id = 13873  (0x3631)  (int)
  pci.subsys_vendor = 'VIA Technologies Inc.'  (string)
  pci.subsys_vendor_id = 5138  (0x1412)  (int)
  pci.vendor = 'VIA Technologies Inc.'  (string)
  pci.vendor_id = 5138  (0x1412)  (int)
Comment 17 Sergei Andreev 2008-11-14 21:48:10 UTC
Created attachment 28577 [details]
full lshal output
Comment 18 Sergei Andreev 2008-11-14 22:02:18 UTC
Created attachment 28580 [details]
phonondevicesrc
Comment 19 Matthias Kretz 2008-11-17 23:40:45 UTC
To Sergei Andreev: the problem in your case is that you are using OSS4. This should actually go to a different report as OSS and OSS4 are different things.

HAL reports way to little information. It doesn't even tell that your card is a soundcard. Apparently HAL has no support for reporting OSS4 based devices.

I won't add extra support for OSS4 myself, once HAL reports it Phonon should be able to make use of it. You might want to file a report at the HAL bugtracker about this. But I'd expect that there's a report for it already...
Comment 20 Rosetzky Cedric 2008-11-18 04:01:09 UTC
Hmm. I didn't know it has to be mentioned. But now that you say that, I was using OSS v4 too.
Comment 21 Matthias Kretz 2008-11-18 09:23:56 UTC
OK, good to know. I'll keep this filed as a OSS4 problem then, waiting for other parts below KDE/Phonon to get support before I can revisit this.
Comment 22 Sergei Andreev 2008-11-21 20:45:54 UTC
HAL will not support OSS4 until OSS4 supports sysfs and udev.
http://lists.freedesktop.org/archives/hal/2008-March/011061.html
Comment 23 Rosetzky Cedric 2008-11-21 20:56:27 UTC
What a great vicious circle we have here... Conclusion : Use ALSA ;).

Oh, since I'm here : Something about this issue? https://bugs.kde.org/show_bug.cgi?id=171955
Comment 24 Sergei Andreev 2008-11-21 21:05:00 UTC
>Conclusion : Use ALSA ;)

Not with ubuntu 8.10 cause my pet alsa bug was closed only in newest 1.0.18

BTW in freebsd and opensolaris there is no such a thing like alsa :)
Comment 25 Matthias Kretz 2008-11-22 10:28:57 UTC
I agree with Danny on the HAL list that as long as OSS4 doesn't know how to behave properly on Linux it's an unstable toy and not to be used for production/by end-users.

I myself am using a self-compiled libasound on KUbuntu Intrepid (need to fix the bugs there myself). It's really not hard to do: download, ./configure --prefix=/usr; make; sudo make install

OpenSolaris and FreeBSD use HAL these days too, no? I expect this port to have the relevant code to list OSS devices. And in that case Phonon should work just fine.
Comment 26 Sergei Andreev 2009-01-04 17:24:24 UTC
>OpenSolaris and FreeBSD use HAL these days too, no? I expect this port to have the relevant code to list OSS devices.

As far as I know Sun forked oss v4 for their own needs
Comment 27 Sergei Andreev 2009-01-14 21:39:59 UTC
KDE 4.2rc1:
phonon Xine backend works with OSS 4.2svn 

And the only issue - to get kmix work with oss :)