Can't record analog TV with WinTV HVR-950Q

Asked by Steven Ourada on 2011-05-22

I was not able to record analog TV with the WinTV HVR-950Q with MythTV in Natty. The logs were not very helpful even with --setverbose all; the actual failure point is not logged.

In gdb, I narrowed the problem down to this: in NuppelVideoRecorder.cpp ( http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/natty/mythtv/natty/view/head:/mythtv/libs/libmythtv/NuppelVideoRecorder.cpp ), StartVideoRecording was always failing at line 1076, because usingv4l2 is set and SetFormatV4L2 is a dummy function that always returns false. This is apparently because of the ifdefs related to V4L/V4L2.

I reworked the ifdefs a bit, mimicking what I saw for other V4L stuff, so that the SetFormatV4L2 and DoV4L2 functions were defined correctly. I left DoV4L and DoMJPEG hollowed out since they don't compile and I don't care about 'em.

After that, I was able to record analog through V4L in MythTV. Here are the main parameters I set in MythTV, just in case they aren't all obvious:
In mythtv-setup:
  Video device: /dev/video0
  Audio device: ALSA:hw:CARD=HVR950Q,DEV=0
  Force audio sampling rate: 48000
In mythfrontend, software encoders:
  Width: 720
  Height: 480
  Video codec: MPEG4
  Audio codec: MP3
  Sampling rate: 48000

Here's the patch from the original source to my modified version:
1141c1141
< #ifdef USING_V4L
---
> #if defined(USING_V4L) || defined(USING_V4L2)
1143a1144
> #ifdef USING_V4L
1325a1327
> #endif
1728a1731
> #ifdef USING_V4L
1860a1864
> #endif
1863c1867
< #else // USING_V4L
---
> #else // USING_V4L || USING_V4L2
1868c1872
< #endif // USING_V4L
---
> #endif // USING_V4L || USING_V4L2

[Edited: I had the diff backwards before.]

Question information

Language:
English Edit question
Status:
Open
For:
Ubuntu mythtv Edit question
Assignee:
No assignee Edit question
Last query:
2011-05-22
Last reply:

Can you help with this problem?

Provide an answer of your own, or ask Steven Ourada for more information if necessary.

To post a message you must log in.