Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#408 closed defect (fixed)

incorrect frame size when recording on MJPEG card

Reported by: mkundinger@… Owned by: danielk
Priority: minor Milestone: unknown
Component: mythtv Version:
Severity: medium Keywords:
Cc: Ticket locked: no

Description

My system has two tuners, a PVR-250 (works fine) and a Matrox Marvel G400-TV (set to MJPEG recording). The PVR is fine.

When recording or viewing Live TV on the Marvel, mythbackend prints the following error:

2005-10-02 09:41:35.489 NVR: Could not detect max width for hardware MJPEG card, falling back to default: 640

The net effect when viewing one of these recordings is that the right edge of the recording seems to stretch off the end of the TV screen.

This problem has occured in recent SVNs (including 7374), but did not occur roughly 2-3 weeks ago.

I'm available to help debugging, as long as I'm given simple monkey instructions.

Attachments (1)

mjpeg.patch (633 bytes) - added by danielk 14 years ago.
Possible fix, tell me if it works

Download all attachments as: .zip

Change History (7)

comment:1 Changed 14 years ago by Isaac Richards

Resolution: invalid
Status: newclosed

You need to include all the errors it prints out. You skipped the one immediately before the 'Could not detect max width' message, which would include the actual error message.

comment:2 Changed 14 years ago by mkundinger@…

Resolution: invalid
Status: closedreopened

my bad on not including the right info. This time, I ran "mythbackend -v all", and tried to watch Live TV, which displays the same error. Here's a longer snippet of the debug output:

2005-10-10 11:35:25.031 adding: pvrbox as a remote ringbuffer

2005-10-10 11:35:25.037 TVRec(1): Changing from None to WatchingLiveTV

2005-10-10 11:35:25.148 NVR: Can't open video device: /dev/video0

open video:: Device or resource busy

2005-10-10 11:35:25.148 NVR: Could not detect max width for hardware MJPEG card, falling back to default: 640

(note that /dev/video0 is the mjpeg card, and pvrbox is the name of the combined frontend/backend) please let me know if more info is needed.

Changed 14 years ago by danielk

Attachment: mjpeg.patch added

Possible fix, tell me if it works

comment:3 Changed 14 years ago by anonymous

Made no difference, same error messages (and same wonky frame size):

2005-10-10 16:44:39.774 adding: pvrbox as a remote ringbuffer

2005-10-10 16:44:39.780 TVRec(1): Changing from None to WatchingLiveTV 2005-10-10 16:44:39.864 NVR: Can't open video device: /dev/video0

open video:: Device or resource busy

2005-10-10 16:44:39.887 NVR: Could not detect max width for hardware MJPEG card, falling back to default: 640

comment:4 Changed 14 years ago by Isaac Richards

Owner: changed from Isaac Richards to danielk
Status: reopenednew

comment:5 Changed 14 years ago by danielk

Resolution: fixed
Status: newclosed

(In [7454]) Fixes #408.

The Xhannel and NVR needed to be closed when calling NVR::Initialize() when using an MJPEG card.

This closes and reopens the channel when needed, and also makes it safe for the NVR to be open. The later part isn't needed right now, but there was also a problem in that the MJPEG init closed the NVR file descriptor but didn't reset it to -1. It was easy to allow the NVR to be open when fixing this.

This also uses the new ENO macro instead of perror() to print out errno based error messages.

mkundinger can you verify this fix?

comment:6 Changed 14 years ago by mkundinger@…

Yep, no error message and frame size seems correct on MJPEG tuner (MPEG2 as well!).

Relevant log in mythbackend:

2005-10-11 23:59:27.280 adding: pvrbox as a remote ringbuffer

2005-10-11 23:59:27.287 TVRec(1): Changing from None to WatchingLiveTV

strange error flushing buffer ...

Note: See TracTickets for help on using tickets.