Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#12622 closed Bug Report - General (fixed)

Unable to stream LiveTV from HVR950Q Analog capture card "(/dev/video1): SetIntOption(...height): Option not in profile."

Reported by: Gero3977@… Owned by: JYA
Priority: critical Milestone: 0.28
Component: MythTV - Recording Version: 0.28-beta
Severity: high Keywords:
Cc: Ticket locked: no

Description

I'm running the latest Mythtv v0.28

raansu-mythtv@MythTV-Parrot:~$ mythbackend --version
Please attach all output as a file in bug reports.
MythTV Version : v0.28-pre-3497-g7963251
MythTV Branch : master
Network Protocol : 88
Library API : 0.28.20160113-1
QT Version : 5.2.1
Options compiled in:
 linux profile use_hidesyms using_alsa using_oss using_pulse using_pulseoutput using_backend using_bindings_perl using_bindings_python using_bindings_php using_crystalhd using_dvb using_firewire using_frontend using_hdhomerun using_vbox using_ceton using_hdpvr using_ivtv using_joystick_menu using_libcec using_libcrypto using_libdns_sd using_libfftw3 using_libxml2 using_lirc using_mheg using_opengl using_opengl_video using_qtwebkit using_qtscript using_qtdbus using_sdl using_taglib using_v4l2 using_x11 using_xrandr using_xv using_profiletype using_bindings_perl using_bindings_python using_bindings_php using_freetype2 using_mythtranscode using_opengl using_vaapi using_vdpau using_ffmpeg_threads using_mheg using_libass using_libxml2
raansu-mythtv@MythTV-Parrot:~$ 

When I try to stream LiveTV from my HVR950Q card I get:

raansu-mythtv@MythTV-Parrot:~$ sudo mythbackend 
2016-01-27 00:56:17.136058 C  mythbackend version: master [v0.28-pre-3497-g7963251] www.mythtv.org
2016-01-27 00:56:17.136102 C  Qt version: compile: 5.2.1, runtime: 5.2.1
2016-01-27 00:56:17.136109 N  Enabled verbose msgs:  general
2016-01-27 00:56:17.136131 N  Setting Log Level to LOG_INFO
2016-01-27 00:56:17.147394 I  Added logging to the console
2016-01-27 00:56:17.148226 I  Setup Interrupt handler
2016-01-27 00:56:17.148243 I  Setup Terminated handler
2016-01-27 00:56:17.148259 I  Setup Segmentation fault handler
2016-01-27 00:56:17.148269 I  Setup Aborted handler
2016-01-27 00:56:17.148288 I  Setup Bus error handler
2016-01-27 00:56:17.148299 I  Setup Floating point exception handler
2016-01-27 00:56:17.148313 I  Setup Illegal instruction handler
2016-01-27 00:56:17.148330 I  Setup Real-time signal 0 handler
2016-01-27 00:56:17.148593 N  Using runtime prefix = /usr
2016-01-27 00:56:17.148602 N  Using configuration directory = /home/raansu-mythtv/.mythtv
2016-01-27 00:56:17.148693 I  Assumed character encoding: en_US.UTF-8
2016-01-27 00:56:17.149194 N  Empty LocalHostName.
2016-01-27 00:56:17.149206 I  Using localhost value of MythTV-Parrot
2016-01-27 00:56:17.168970 N  Setting QT default locale to EN_US
2016-01-27 00:56:17.168991 I  Current locale EN_US
2016-01-27 00:56:17.169073 N  Reading locale defaults from /usr/share/mythtv//locales/en_us.xml
2016-01-27 00:56:17.174779 I  Loading en_us translation for module mythfrontend
2016-01-27 00:56:17.177751 I  Current MythTV Schema Version (DBSchemaVer): 1343
2016-01-27 00:56:17.178104 I  Loading en_us translation for module mythfrontend
2016-01-27 00:56:17.180220 N  MythBackend: Starting up as the master server.
2016-01-27 00:56:17.184913 I  V4LChannel[3](/dev/video1): SetInputAndFormat(3, NTSC) (v4l v2) input_switch: 0 mode_switch: 1
2016-01-27 00:56:18.816216 I  Found 0 distinct programid authorities
2016-01-27 00:56:18.816618 I  New static DB connectionSchedCon
2016-01-27 00:56:18.817062 I  Registering HouseKeeperTask 'LogClean'.
2016-01-27 00:56:18.817103 I  Registering HouseKeeperTask 'DBCleanup'.
2016-01-27 00:56:18.817136 I  Registering HouseKeeperTask 'ThemeUpdateNotifications'.
2016-01-27 00:56:18.817168 I  Registering HouseKeeperTask 'RecordedArtworkUpdate'.
2016-01-27 00:56:18.819557 I  Registering HouseKeeperTask 'MythFillDB'.
2016-01-27 00:56:18.819596 I  Registering HouseKeeperTask 'JobQueueRecover'.
2016-01-27 00:56:18.819621 I  Registering HouseKeeperTask 'HardwareProfiler'.
2016-01-27 00:56:18.821033 I  Starting HouseKeeper.
2016-01-27 00:56:18.842091 I  Listening on TCP 127.0.0.1:6544
2016-01-27 00:56:18.842153 I  Listening on TCP 192.168.1.5:6544
2016-01-27 00:56:18.846167 I  Listening on TCP [::1]:6544
2016-01-27 00:56:18.846279 I  Listening on TCP [fe80::2289:84ff:fec1:6856%eth0]:6544
2016-01-27 00:56:18.846373 I  Listening on TCP 127.0.0.1:6554
2016-01-27 00:56:18.846417 I  Listening on TCP 192.168.1.5:6554
2016-01-27 00:56:18.850269 I  Listening on TCP [::1]:6554
2016-01-27 00:56:18.850372 I  Listening on TCP [fe80::2289:84ff:fec1:6856%eth0]:6554
2016-01-27 00:56:18.850516 I  Listening on TCP 127.0.0.1:6545
2016-01-27 00:56:18.850585 I  Listening on TCP 192.168.1.5:6545
2016-01-27 00:56:18.854261 I  Listening on TCP [::1]:6545
2016-01-27 00:56:18.854370 I  Listening on TCP [fe80::2289:84ff:fec1:6856%eth0]:6545
2016-01-27 00:56:21.824477 I  Reschedule requested for MATCH 0 0 0 - SchedulerInit
2016-01-27 00:56:21.848820 I  Scheduled 0 items in 0.0 = 0.01 match + 0.00 check + 0.01 place
2016-01-27 00:56:21.849464 I  Scheduler: Seem to be woken up by USER
2016-01-27 00:56:22.753232 I  Main::Registering HttpStatus Extension
2016-01-27 00:56:22.754767 I  Listening on TCP 127.0.0.1:6543
2016-01-27 00:56:22.754834 I  Listening on TCP 192.168.1.5:6543
2016-01-27 00:56:22.759602 I  Listening on TCP [::1]:6543
2016-01-27 00:56:22.759721 I  Listening on TCP [fe80::2289:84ff:fec1:6856%eth0]:6543
2016-01-27 00:56:22.762309 N  AutoExpire: CalcParams(): Max required Free Space: 1.0 GB w/freq: 15 min
2016-01-27 00:56:23.738298 I  Bonjour: Service registration complete: name 'Mythbackend on MythTV-Parrot' type '_mythbackend._tcp.' domain: 'local.'
2016-01-27 00:56:26.194305 I  MainServer: MainServer::ANN Monitor
2016-01-27 00:56:26.194332 I  MainServer: adding: localhost(1cfdea0) as a client (events: 1)
2016-01-27 00:56:26.205959 I  MainServer: MainServer::ANN Monitor
2016-01-27 00:56:26.206000 I  MainServer: adding: localhost(1d0e9f0) as a client (events: 0)
2016-01-27 00:56:26.214768 I  MainServer: MainServer::ANN Monitor
2016-01-27 00:56:26.214800 I  MainServer: adding: localhost(1cfd3f0) as a client (events: 0)
2016-01-27 00:56:34.273197 I  MainServer: MainServer::ANN Monitor
2016-01-27 00:56:34.273229 I  MainServer: adding: localhost(1d18430) as a client (events: 0)
2016-01-27 00:56:34.375463 I  MainServer: MainServer::ANN Playback
2016-01-27 00:56:34.375488 I  MainServer: adding: localhost(1d24ec0) as a client (events: 0)
2016-01-27 00:56:34.399398 I  TVRec[3]: Changing from None to WatchingLiveTV
2016-01-27 00:56:34.403592 I  TVRec[3]: TuningFrequency
2016-01-27 00:56:35.234309 N  AutoExpire: CalcParams(): Max required Free Space: 2.0 GB w/freq: 15 min
2016-01-27 00:56:35.236133 W  LoadFromProgram(): SQL contains LIMIT clause, caller should be updated to use limit parameter instead
2016-01-27 00:56:35.245607 N  ApplyRecordRecGroupChange: LiveTV to LiveTV (2)
2016-01-27 00:56:35.319534 E  SampleRate: Attempted to add a rate 32000 Hz, which is not in the list of allowed rates.
2016-01-27 00:56:35.325240 N  AutoExpire: CalcParams(): Max required Free Space: 2.0 GB w/freq: 15 min
2016-01-27 00:56:35.326485 W  LoadFromProgram(): SQL contains LIMIT clause, caller should be updated to use limit parameter instead
2016-01-27 00:56:35.331117 E  RecordingInfo::InsertProgram(ProgramInfo(1004_20160127085635.nuv): channame(4) startts(Wed Jan 27 08:56:35 2016 GMT) endts(Wed Jan 27 09:00:00 2016 GMT)
             recstartts(Wed Jan 27 08:56:35 2016 GMT) recendts(Wed Jan 27 09:00:00 2016 GMT)
             title(Unknown)): recording already exists...
2016-01-27 00:56:35.339268 N  ApplyRecordRecGroupChange: LiveTV to LiveTV (2)
2016-01-27 00:56:35.340225 I  TVRec[3]: TuningNewRecorder - CreateRecorder()
2016-01-27 00:56:35.446540 E  RecBase[3](/dev/video1): SetIntOption(...width): Option not in profile.
2016-01-27 00:56:35.446574 E  RecBase[3](/dev/video1): SetIntOption(...height): Option not in profile.
2016-01-27 00:56:35.518728 C  Received Floating point exception: Code 1, PID 1768572572, UID 32667, Value 0x3900000039
raansu-mythtv@MythTV-Parrot:~$ 

Attachments (1)

recordingprofile.cpp.patch (1.3 KB) - added by William L. DeRieux IV <williamderieux@…> 4 years ago.

Download all attachments as: .zip

Change History (6)

comment:1 Changed 4 years ago by jpoet

Owner: changed from JYA to jpoet
Status: newaccepted

comment:2 Changed 4 years ago by William L. DeRieux IV <williamderieux@…>

I have a backtrace when using the NuppleVideoRecorder? for this issue

Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread 0x7fffd12b8700 (LWP 4330)]
0x00007ffff53f724c in NuppelVideoRecorder::InitBuffers (this=0x7fffc40408a0)
    at recorders/NuppelVideoRecorder.cpp:944
944	    video_buffer_count = (videomegs * 1000 * 1000) / video_buffer_size;
(gdb) bt
#0  0x00007ffff53f724c in NuppelVideoRecorder::InitBuffers (this=0x7fffc40408a0)
    at recorders/NuppelVideoRecorder.cpp:944
#1  0x00007ffff53f55c4 in NuppelVideoRecorder::Initialize (this=0x7fffc40408a0)
    at recorders/NuppelVideoRecorder.cpp:764
#2  0x00007ffff53b7e3e in TVRec::TuningNewRecorder (this=0x94cdd0, streamData=0x0) at tv_rec.cpp:4233
#3  0x00007ffff53aef74 in TVRec::HandleTuning (this=0x94cdd0) at tv_rec.cpp:3509
#4  0x00007ffff539a591 in TVRec::run (this=0x94cdd0) at tv_rec.cpp:1315
#5  0x00007ffff4497ea0 in MThread::run (this=0x94d050) at mthread.cpp:319
#6  0x00007ffff4498775 in MThreadInternal::run (this=0x917e60) at mthread.cpp:79
#7  0x00007fffea585d2e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fffea2d40a4 in start_thread (arg=0x7fffd12b8700) at pthread_create.c:309
#9  0x00007fffe97e787d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

The failing code is in NuppelVideoRecorder::InitBuffers?(void)

void NuppelVideoRecorder::InitBuffers(void)
{
    int videomegs;
    int audiomegs = 2;
    if (!video_buffer_size)
    {
        if (picture_format == PIX_FMT_YUV422P)
            video_buffer_size = w_out * h_out * 2;
        else
            video_buffer_size = w_out * h_out * 3 / 2;
    }
    if (width >= 480 || height > 288)
        videomegs = 20;
    else
        videomegs = 12;
    video_buffer_count = (videomegs * 1000 * 1000) / video_buffer_size;

and as Gero3977 logs show:

2016-01-27 00:56:35.446540 E  RecBase[3](/dev/video1): SetIntOption(...width): Option not in profile.
2016-01-27 00:56:35.446574 E  RecBase[3](/dev/video1): SetIntOption(...height): Option not in profile.

This w_out and h_out paraemter are initialized by NuppelVideoRecorder::SetOptionsFromProfile?

SetIntOption(profile,"width");
SetIntOption(profile,"height");

The commit that broke this functionality was: https://code.mythtv.org/trac/changeset/29d854117c240d771d90be4aefb962600f9be156/mythtv

void RecordingProfile::CompleteLoad(int profileId, const QString &type, const QString &name)
        if (type != "HDPVR")
#ifdef USING_V4L2
            if (v4l2util && v4l2util->UserAdjustableResolution())
            addChild(new ImageSize(*this, tvFormat, profileName));
#endif

addChild(new ImageSize?(*this, tvFormat, profileName)); should always be called otherwise the width/height parameters are not updated in the CodecParamsStorage? cache. And causes the issue at hand.

I have attached / will be attaching patch that fixes/corrects the issue.

Changed 4 years ago by William L. DeRieux IV <williamderieux@…>

Attachment: recordingprofile.cpp.patch added

comment:3 Changed 4 years ago by JYA

Owner: changed from jpoet to JYA

comment:4 Changed 4 years ago by Jean-Yves Avenard <jyavenard@…>

Resolution: fixed
Status: acceptedclosed

In 26a358fa0b53a481da944a7b9d34dd86e0402aab/mythtv:

Fixes #12622

Thanks to William L. DeRieux? IV for troubleshooting the problem.

comment:5 Changed 4 years ago by Stuart Auchterlonie

Version: Unspecified0.28-beta
Note: See TracTickets for help on using tickets.