Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#8508 closed defect (fixed)

sound problems on analog tv between 24824 and 24896

Reported by: yianniv Owned by: JYA
Priority: minor Milestone: 0.24
Component: MythTV - General Version: Master Head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

After upgrading from 24824 to 24896 (trunk), viewing live TV or the resulting recordings is impossible because the sound is in fast forward (with pauses to sync with video!). This happens both on debian lenny and opensuse 11.2 frontends.

I am including the relevant terminal info from viewing live tv:

2010-05-29 12:44:35.805 New DB connection, total: 2
2010-05-29 12:44:35.808 Connected to database 'mythconverg' at host: al2kpro
2010-05-29 12:44:35.822 MythCoreContext: Connecting to backend server: 192.168.13.65:6543 (try 1 of 1)
2010-05-29 12:44:35.823 Using protocol version 57
2010-05-29 12:44:35.917 Preview: Grabbed preview '/store/readonly/myth/tvlive/1048_20100529124328.nuv' 480x576@330s
2010-05-29 12:44:35.966 ~MythContext waiting for threads to exit.
2010-05-29 12:44:38.534 SendReceiveStringList(MESSAGE,SYSTEM_EVENT PLAY_STARTED HOSTNAME storage CHANID 1048 STARTTIME 2010-05-29T12:43:28 SENDER storage) called from UI thread
2010-05-29 12:44:38.592 TV: Attempting to change from None to WatchingPreRecorded
Error in my_thread_global_end(): 1 threads didn't exit
2010-05-29 12:44:41.061 AO: Resampling from 32 kHz to 48 kHz with quality medium
2010-05-29 12:44:41.061 AO: Opening audio device 'default' ch 2(2) sr 48000 sf signed 32 bit reenc 0
2010-05-29 12:44:41.062 ALSA, Error: snd_pcm_info_get_card: ΠλειÏοÏÏγία δεν εÏιÏÏέÏεÏαι
2010-05-29 12:44:41.062 Opening ALSA audio device 'default'.
2010-05-29 12:44:41.174 VDPAU: Created 2 output surfaces.
2010-05-29 12:44:41.174 VDPAU: Created VDPAU render device 1680x1050
2010-05-29 12:44:41.190 FilterManager: Failed to load filter 'colorspace', no such filter exists
2010-05-29 12:44:41.190 OSD Theme Dimensions W: 1280 H: 720
2010-05-29 12:44:41.259 SendReceiveStringList(MESSAGE,COMMFLAG_REQUEST 1048_2010-05-29T12:43:28) called from UI thread
2010-05-29 12:44:41.259 The realtime priority setting is not enabled.
2010-05-29 12:44:41.259 TV: Changing from None to WatchingPreRecorded
2010-05-29 12:44:41.261 Video timing method: USleep with busy wait
2010-05-29 12:44:41.280 VDPAU: Added 2 output surfaces (total 4, max 4)
2010-05-29 12:44:41.311 ScreenSaverX11Private: DPMS Deactivated 1
2010-05-29 12:44:45.697 TV: Attempting to change from WatchingPreRecorded to None
2010-05-29 12:44:45.702 TV: Changing from WatchingPreRecorded to None
2010-05-29 12:44:45.702 ScreenSaverX11Private: DPMS Reactivated 1
2010-05-29 12:44:45.813 ALSA, Error: snd_pcm_info_get_card: ΠλειÏοÏÏγία δεν εÏιÏÏέÏεÏαι
2010-05-29 12:44:45.820 SendReceiveStringList(MESSAGE,SYSTEM_EVENT PLAY_STOPPED HOSTNAME storage CHANID 1048 STARTTIME 2010-05-29T12:43:28 SENDER storage) called from UI thread
2010-05-29 12:44:49.420 MythUIWebBrowser: Loading css from - file:///usr/share/mythtv/themes/default/htmls/mythbrowser.css
2010-05-29 12:47:20.153 SendReceiveStringList(GET_FREE_RECORDER_COUNT) called from UI thread
2010-05-29 12:47:20.184 SendReceiveStringList(GET_NEXT_FREE_RECORDER,-1) called from UI thread
2010-05-29 12:47:20.195 SendReceiveStringList(MESSAGE,SYSTEM_EVENT LIVETV_STARTED SENDER storage) called from UI thread
2010-05-29 12:47:20.238 TV: Attempting to change from None to WatchingLiveTV
2010-05-29 12:47:20.238 MythCoreContext: Connecting to backend server: 192.168.13.100:6543 (try 1 of 1)
2010-05-29 12:47:20.238 Using protocol version 57
2010-05-29 12:47:20.282 Spawning LiveTV Recorder -- begin
2010-05-29 12:47:25.557 Spawning LiveTV Recorder -- end
2010-05-29 12:47:25.567 We have a playbackURL(/store/readonly/myth/tvlive/1048_20100529124725.nuv) & cardtype(V4L)
2010-05-29 12:47:26.818 We have a RingBuffer
2010-05-29 12:47:27.876 RingBuf(/store/readonly/myth/tvlive/1048_20100529124725.nuv): Waited 1.0 seconds for data to become available...
2010-05-29 12:47:27.876 Checking to see if there's a new livetv program to switch to..
2010-05-29 12:47:28.030 AO: Resampling from 32 kHz to 48 kHz with quality medium
2010-05-29 12:47:28.030 AO: Opening audio device 'default' ch 2(2) sr 48000 sf signed 32 bit reenc 0
2010-05-29 12:47:28.031 ALSA, Error: snd_pcm_info_get_card: ΠλειÏοÏÏγία δεν εÏιÏÏέÏεÏαι
2010-05-29 12:47:28.031 Opening ALSA audio device 'default'.
2010-05-29 12:47:28.238 VDPAU: Created 2 output surfaces.
2010-05-29 12:47:28.238 VDPAU: Created VDPAU render device 1680x1050
2010-05-29 12:47:28.253 FilterManager: Failed to load filter 'colorspace', no such filter exists
2010-05-29 12:47:28.253 OSD Theme Dimensions W: 1280 H: 720
2010-05-29 12:47:28.323 TV: Changing from None to WatchingLiveTV
2010-05-29 12:47:28.324 TV: State is LiveTV & mctx == ctx
2010-05-29 12:47:28.324 The realtime priority setting is not enabled.
2010-05-29 12:47:28.326 Video timing method: USleep with busy wait
2010-05-29 12:47:28.326 TV: UpdateOSDInput done
2010-05-29 12:47:28.326 TV: UpdateLCD done
2010-05-29 12:47:28.327 TV: ITVRestart done
2010-05-29 12:47:28.342 VDPAU: Added 2 output surfaces (total 4, max 4)
2010-05-29 12:47:28.355 ScreenSaverX11Private: DPMS Deactivated 1
2010-05-29 12:47:29.987 ALSA, Error: WriteAudio: buffer underrun
2010-05-29 12:47:30.238 NVP(2): prebuffering pause
2010-05-29 12:47:30.588 ALSA, Error: WriteAudio: buffer underrun
2010-05-29 12:47:30.665 NVP(2): prebuffering pause
2010-05-29 12:47:30.879 NVP(2): prebuffering pause
2010-05-29 12:47:31.186 ALSA, Error: WriteAudio: buffer underrun
2010-05-29 12:47:31.413 NVP(2): prebuffering pause
2010-05-29 12:47:31.764 NVP(2): prebuffering pause
2010-05-29 12:47:31.771 ALSA, Error: WriteAudio: buffer underrun
2010-05-29 12:47:32.157 ALSA, Error: WriteAudio: buffer underrun
2010-05-29 12:47:32.290 NVP(2): prebuffering pause
2010-05-29 12:47:32.579 ALSA, Error: WriteAudio: buffer underrun
2010-05-29 12:47:32.718 NVP(2): prebuffering pause
2010-05-29 12:47:33.014 NVP(2): prebuffering pause
2010-05-29 12:47:33.022 ALSA, Error: WriteAudio: buffer underrun
2010-05-29 12:47:33.299 ALSA, Error: WriteAudio: buffer underrun
2010-05-29 12:47:33.475 NVP(2): prebuffering pause
2010-05-29 12:47:33.892 NVP(2): prebuffering pause
2010-05-29 12:47:33.894 ALSA, Error: WriteAudio: buffer underrun
2010-05-29 12:47:34.202 NVP(2): prebuffering pause
2010-05-29 12:47:34.208 ALSA, Error: WriteAudio: buffer underrun
2010-05-29 12:47:34.529 ALSA, Error: WriteAudio: buffer underrun
2010-05-29 12:47:34.910 NVP(2): prebuffering pause
2010-05-29 12:47:34.919 ALSA, Error: WriteAudio: buffer underrun
2010-05-29 12:47:35.208 NVP(2): prebuffering pause
2010-05-29 12:47:35.218 ALSA, Error: WriteAudio: buffer underrun
2010-05-29 12:47:35.550 NVP(2): prebuffering pause
2010-05-29 12:47:35.553 ALSA, Error: WriteAudio: buffer underrun
2010-05-29 12:47:35.926 ALSA, Error: WriteAudio: buffer underrun
2010-05-29 12:47:36.048 NVP(2): prebuffering pause
2010-05-29 12:47:36.275 NVP(2): prebuffering pause
2010-05-29 12:47:36.650 ALSA, Error: WriteAudio: buffer underrun
2010-05-29 12:47:36.817 NVP(2): prebuffering pause
2010-05-29 12:47:37.702 RingBuf(/store/readonly/myth/tvlive/1048_20100529124725.nuv): Waited 1.0 seconds for data to become available...
2010-05-29 12:47:37.702 Checking to see if there's a new livetv program to switch to..
2010-05-29 12:47:39.608 ALSA, Error: WriteAudio: buffer underrun
2010-05-29 12:47:39.738 NVP(2): prebuffering pause
2010-05-29 12:47:39.996 TV: Attempting to change from WatchingLiveTV to None
2010-05-29 12:47:40.076 ALSA, Error: snd_pcm_info_get_card: ΠλειÏοÏÏγία δεν εÏιÏÏέÏεÏαι
2010-05-29 12:47:40.408 TV: Changing from WatchingLiveTV to None
2010-05-29 12:47:40.409 ScreenSaverX11Private: DPMS Reactivated 1
2010-05-29 12:47:40.483 SendReceiveStringList(MESSAGE,SYSTEM_EVENT PLAY_STOPPED SENDER storage) called from UI thread

I have a 26MB nuv sample if you want me to upload somewhere to test.

The two cards used are a Cinergy TV 400 and an Lifeview Trio, both using saa7134_alsa modules.

MythTV Version:24896M                                                                                                                                                                                                                            
MythTV Branch    : trunk                                                                                                                                                                                                                             
Network Protocol : 57                                                                  Library API      : 0.23.20100526-2                                                     QT Version       : 4.6.2                                                               
Options compiled in:                                                                  linux release using_oss using_alsa using_jack using_backend using_dvb using_frontend using_hdpvr using_iptv using_ivtv using_libfftw3 using_lirc using_mheg using_opengl_video using_opengl_vsync using_qtdbus using_qtwebkit using_v4l using_x11 using_xrandr using_xv using_xvmc using_xvmc_vld using_xvmcw using_bindings_perl using_bindings_python using_opengl using_vdpau using_ffmpeg_threads using_live using_mheg                                                                              

Change History (22)

comment:2 Changed 9 years ago by yianniv

I think this rubbish is the card's unfortunate effort to produce a message in Greek. I can't read it either. These messages have always been there with no problem. The alsa drivers are different between the two machines, and I didn't have any problems before updating trunk.

Is there a chance that the fault lies with "AO: Resampling from 32 kHz to 48 kHz with quality medium" ?

I can watch videos, DVB-T and DVB-S with perfect sound quality. But both analog tv cards produce 32kbit sound. Maybe it's the upmixer's fault?

Can I disable upmixer?

On opensuse 11.2 alsa is 1.0.21-3. The sound output is analog. On debian it is 1.0.17.dfsg-4 (alsa-base). The sound output is spdif.

comment:3 Changed 9 years ago by yianniv

Sorry, on my just previous message I meant if it is possible to disable resampling from 32Kbit to 48.

comment:4 Changed 9 years ago by JYA

your audio card only supports 48kHz out; you need the resampler.. nothing to do with upmixing...

The error you are getting is an ALSA issue, nothing to do with the resampler. The issue can't have been there before, as this code was only recently added

You can disable the resampler by going in the audio settings, checking Advanced and there override the resampler (set it to disabled)

comment:5 Changed 9 years ago by yianniv

I reverted back to 24824 and I have analog tv sound again. I think I will stay here for a while. I still don't think it's an alsa issue.

If you need any logs or anything, please let me know.

comment:6 Changed 9 years ago by JYA

Status: assignedinfoneeded

I'd like to get this issue sorted...

Did you get into the settings and make changes related to your configuration? In particular, if using multichannels stereo, make sure you check the PCM flag...

Ideally, if you could set temporarily your machine to show english text, and report what error message is actually displayed. This will give us some hints on what actually is wrong...

comment:7 in reply to:  6 Changed 9 years ago by JYA

Status: infoneededassigned

I'd like to get this issue sorted...

Did you get into the settings and make changes related to your configuration? In particular, if using multichannels analog, make sure you check the PCM flag...

Ideally, if you could set temporarily your machine to show english text, and report what error message is actually displayed. This will give us some hints on what actually is wrong...

comment:8 Changed 9 years ago by yianniv

Between upgrading to latest trunk I didn't change any settings in mythtv. I just upgraded and reinstalled (on top of the old installation, I don't run "make uninstall").

Constantly, on the opensuse 11.2 frontend, the sound settings are:

Sound device: ALSA:default Speakers: Stereo Using internal volume controls: yes

Mixer: Software Mixer control: PCM

Nothing else is selected.

I'd rather not change anything on the language side, you see there is the WAF involved...

If you know of any utility that can change the codepage of a text string, I'd be more than happy to run it on the gibberish...

comment:9 Changed 9 years ago by JYA

I only want to see what error it gives rather than this gibberish. you don't have to keep the language to english for more than one run of mythfrontend

comment:10 Changed 9 years ago by yianniv

Using http://www.motobit.com/util/charset-codepage-conversion.asp, on the gibberish, the translation comes as:

"Operation not permitted"

comment:11 Changed 9 years ago by JYA

Can you please retest using SVN >= r24901.

To get rid of the "Operation not permitted" , change ALSA:default to ALSA:Front or some of the other choice offered

comment:12 Changed 9 years ago by yianniv

Sorry, r24901 produces the same problem.

Before seeing your post, I was trying to find which exact commit was causing my problem. 24840 was the last I tried, and it was working OK.

Changing ALSA:default to ALSA:front:CARD=Intel,DEV=0 (automatically offered) or to ALSA:front (manually edited) produces gibberish that translates to "Device or resource busy".

Thanks for your efforts.

comment:13 Changed 9 years ago by JYA

You don't want to be editing the entry, that's why they are that way in the first place.

IT will states device or resource busy if ... the device or the resource is busy funnily enough. So Audio is still being in used, either by another application, having pulseaudio server running but myth wasn't compiled with pulse support etc...

24841 is the merge of the hdaudio branch

comment:14 Changed 9 years ago by yianniv

24847 is the commit that causes my livetv sound problem. Before that I tried 24845 with no problem, although along with 24846 they affect the hdaudio-branch.

I don't compile with pulseaudio support because I read that it causes problems and sound delays. I have also renamed the pulseaudio executable (/usr/bin/pulseaudio) so that myth doesn't complain upon startup. If this is the wrong route to follow, please let me know.

comment:15 Changed 9 years ago by JYA

Status: assignedinfoneeded

If you have pulseaudio server installed, you must compile mythtv with pulse support if you want things to run properly. Do not rename the pulseaudio executable.

Once mythtv is compiled with pulseaudio support, it will do the right thing, suspend the pulse server when it needs to be suspended...

You don't have to worry about sound delays etc, this is only when you are using the pulse native sound, not alsa. And pulse works mostly fine since r24847

comment:16 Changed 9 years ago by JYA

Other than the obvious sound configuration issue...

Make sure you that your capture card and is properly configured, which sounds like it isn't (due to the 32kHz sampling rate in your first log) Run mythtv-setup and adjust the sampling rate ; either don't set up any override rate; or use 48kHz

comment:17 Changed 9 years ago by yianniv

I followed your last post on one of the backends, the opensuse 11.2 with the Lifeview Trio v4l card. In mythtv-setup the card didn't have any forced sample rate, so I forced it to 48000, and the result is having the sound problem even at r24845.

I am enclosing the log:

2010-05-31 19:49:23.404 SendReceiveStringList(GET_FREE_RECORDER_COUNT) called from UI thread
2010-05-31 19:49:23.438 SendReceiveStringList(GET_NEXT_FREE_RECORDER,-1) called from UI thread
2010-05-31 19:49:23.449 SendReceiveStringList(MESSAGE,SYSTEM_EVENT LIVETV_STARTED SENDER storage) called from UI thread
2010-05-31 19:49:23.498 TV: Attempting to change from None to WatchingLiveTV
2010-05-31 19:49:23.498 MythCoreContext: Connecting to backend server: 192.168.13.100:6543 (try 1 of 1)
2010-05-31 19:49:23.498 Using protocol version 57
2010-05-31 19:49:23.531 Spawning LiveTV Recorder -- begin
2010-05-31 19:49:28.846 Spawning LiveTV Recorder -- end
2010-05-31 19:49:28.857 We have a playbackURL(/store/readonly/myth/tvlive/1056_20100531194928.nuv) & cardtype(V4L)
2010-05-31 19:49:30.110 We have a RingBuffer
2010-05-31 19:49:31.192 Opening audio device 'default'. ch 2(2) sr 48000 (reenc 0)
2010-05-31 19:49:31.192 Opening ALSA audio device 'default'.
2010-05-31 19:49:31.387 VDPAU: Created 2 output surfaces.
2010-05-31 19:49:31.387 VDPAU: Created VDPAU render device 1680x1050
2010-05-31 19:49:31.403 OSD Theme Dimensions W: 1280 H: 720
2010-05-31 19:49:31.474 The realtime priority setting is not enabled.
2010-05-31 19:49:31.475 Video timing method: USleep with busy wait
2010-05-31 19:49:31.483 TV: Changing from None to WatchingLiveTV
2010-05-31 19:49:31.483 TV: State is LiveTV & mctx == ctx
2010-05-31 19:49:31.485 TV: UpdateOSDInput done
2010-05-31 19:49:31.485 TV: UpdateLCD done
2010-05-31 19:49:31.493 TV: ITVRestart done
2010-05-31 19:49:31.498 VDPAU: Added 2 output surfaces (total 4, max 4)
2010-05-31 19:49:31.521 ScreenSaverX11Private: DPMS Deactivated 1
2010-05-31 19:49:34.011 WriteAudio: buffer underrun
2010-05-31 19:49:34.189 WriteAudio: buffer underrun
2010-05-31 19:49:34.311 WriteAudio: buffer underrun
2010-05-31 19:49:34.432 WriteAudio: buffer underrun
2010-05-31 19:49:34.555 WriteAudio: buffer underrun
2010-05-31 19:49:34.781 NVP(1): prebuffering pause
2010-05-31 19:49:34.782 WriteAudio: buffer underrun
2010-05-31 19:49:35.274 WriteAudio: buffer underrun
2010-05-31 19:49:35.395 WriteAudio: buffer underrun
2010-05-31 19:49:35.588 WriteAudio: buffer underrun
2010-05-31 19:49:35.707 WriteAudio: buffer underrun
2010-05-31 19:49:35.831 WriteAudio: buffer underrun
2010-05-31 19:49:36.003 NVP(1): prebuffering pause
2010-05-31 19:49:36.005 WriteAudio: buffer underrun
2010-05-31 19:49:36.249 WriteAudio: buffer underrun
2010-05-31 19:49:36.428 WriteAudio: buffer underrun
2010-05-31 19:49:36.549 WriteAudio: buffer underrun
2010-05-31 19:49:36.729 WriteAudio: buffer underrun
2010-05-31 19:49:36.971 WriteAudio: buffer underrun
2010-05-31 19:49:37.279 WriteAudio: buffer underrun
2010-05-31 19:49:37.398 WriteAudio: buffer underrun
2010-05-31 19:49:37.517 WriteAudio: buffer underrun
2010-05-31 19:49:37.697 WriteAudio: buffer underrun
2010-05-31 19:49:37.877 WriteAudio: buffer underrun
2010-05-31 19:49:38.302 WriteAudio: buffer underrun
2010-05-31 19:49:38.423 WriteAudio: buffer underrun
2010-05-31 19:49:38.604 WriteAudio: buffer underrun
2010-05-31 19:49:38.789 WriteAudio: buffer underrun
2010-05-31 19:49:38.966 WriteAudio: buffer underrun
2010-05-31 19:49:39.088 WriteAudio: buffer underrun
2010-05-31 19:49:39.266 WriteAudio: buffer underrun
2010-05-31 19:49:39.627 WriteAudio: buffer underrun
2010-05-31 19:49:39.824 NVP(1): prebuffering pause
2010-05-31 19:49:39.825 WriteAudio: buffer underrun
2010-05-31 19:49:40.361 WriteAudio: buffer underrun
2010-05-31 19:49:40.476 WriteAudio: buffer underrun
2010-05-31 19:49:40.714 WriteAudio: buffer underrun
2010-05-31 19:49:41.009 NVP(1): prebuffering pause
2010-05-31 19:49:41.011 WriteAudio: buffer underrun
2010-05-31 19:49:41.196 WriteAudio: buffer underrun
2010-05-31 19:49:41.382 WriteAudio: buffer underrun
2010-05-31 19:49:41.558 WriteAudio: buffer underrun
2010-05-31 19:49:41.650 TV: Attempting to change from WatchingLiveTV to None
2010-05-31 19:49:42.031 TV: Changing from WatchingLiveTV to None
2010-05-31 19:49:42.031 ScreenSaverX11Private: DPMS Reactivated 1
2010-05-31 19:49:42.104 SendReceiveStringList(MESSAGE,SYSTEM_EVENT PLAY_STOPPED SENDER storage) called from UI thread

comment:18 Changed 9 years ago by JYA

Can you post a sample of your file somewhere? first 50MB exhibiting the problem.. Thanks

comment:19 Changed 9 years ago by yianniv

It is the sample mentioned in my first post.

http://rapidshare.com/files/393880247/1048_20100529125623x.nuv.htm

comment:19 Changed 9 years ago by JYA

Resolution: fixed
Status: infoneededclosed

(In [24941]) Fixed NUV player playback; Fixed #8508

comment:20 Changed 9 years ago by JYA

The other issues you are seeing are user configuration related. As mentioned, if you are running pulseaudio, compile mythtv with pulseaudio support

comment:21 Changed 9 years ago by yianniv

Indeed, it does fix it!

Thank you very much!!

comment:22 Changed 9 years ago by stuartm

Milestone: unknown0.24
Owner: changed from Isaac Richards to JYA
Note: See TracTickets for help on using tickets.