Modify
Warning Please read the Ticket HowTo before creating or commenting on a ticket. Failure to do so may cause your ticket to be rejected or result in a slower response.

Opened 5 years ago

Last modified 14 months ago

#7205 new Patch - Feature

Add Support for ASIRecorder style PSIP generation to FirewireRecorder

Reported by: Marc Randolph <mrand@…> Owned by: danielk
Priority: minor Milestone: unknown
Component: MythTV - Recording Version: Master Head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

Forwarding from downstream. Problem as I understand it is that the SA8300HD works fine when using test-mpeg2, but myth has trouble capturing the stream. Here is an example:
http://dl.getdropbox.com/u/1578989/test.mpg

backend log:

2009-09-27 14:07:49.550 scheduler: Scheduled items: Scheduled 289 items in 1.6 = 0.00 match + 1.62 place
2009-09-27 14:07:49.559 TVRec(6): RecordPending on inputid 7
2009-09-27 14:07:49.560 TVRec(6): StartRecording(NFL Football)
2009-09-27 14:07:49.560 TVRec(6): ASK_RECORDING 6 0 0 0
2009-09-27 14:07:49.643 adding: mythtv as a client (events: 1)
2009-09-27 14:07:49.732 TVRec(6): StartedRecording(0x93bd2c8) fn(/tv/d3/1811_20090927140800.mpg)
2009-09-27 14:07:49.732 TVRec(6): ClearFlags(CancelNextRecording,) -> RunMainLoop,
2009-09-27 14:07:49.732 TVRec(6): Changing from None to Watching RecordingOnly
2009-09-27 14:07:49.732 TVRec(6): ClearFlags(FrontendReady,CancelNextRecording,) -> RunMainLoop,
2009-09-27 14:07:49.732 TVRec(6): Request: Program(yes) channel() input() flags(Recording,)
2009-09-27 14:07:49.733 TVRec(6): HW Tuner: 6->6
2009-09-27 14:07:49.734 TVRec(6): ClearFlags(PENDINGACTIONS,) -> RunMainLoop,
2009-09-27 14:07:49.734 TVRec(6): No recorder yet, calling TuningFrequency
2009-09-27 14:07:49.734 FireChan(0022CECC76B00000): Open()
2009-09-27 14:07:49.736 FireChan(0022CECC76B00000): SetChannelByString(3)
2009-09-27 14:07:49.738 SetChannelByNumber(81)
2009-09-27 14:07:49.738 FireDev(0022CECC76B00000): Requesting STB Power State
2009-09-27 14:07:49.740 FireDev(0022CECC76B00000): STB Power State: On
2009-09-27 14:07:49.740 SetChannel(model GENERIC, alt 0, chan 81)
2009-09-27 14:07:49.741 SetChannel() -- locked
2009-09-27 14:07:49.745 SetLastChannel(81): cleared: yes
2009-09-27 14:07:49.745 FireChan(0022CECC76B00000): SetChannelByString(3) success
2009-09-27 14:07:49.745 TVRec(6): Starting Signal Monitor
2009-09-27 14:07:49.745 TVRec(6): SetupSignalMonitor(1, 0)
2009-09-27 14:07:49.745 FireChan(0022CECC76B00000): Open()
2009-09-27 14:07:49.745 FireSM(0022CECC76B00000): ctor
2009-09-27 14:07:49.745 SM(0022CECC76B00000)::AddFlags: Seen() Match() Wait(Sig,)
2009-09-27 14:07:49.746 FireDev(0022CECC76B00000): Requesting STB Power State
2009-09-27 14:07:49.748 FireDev(0022CECC76B00000): STB Power State: On
2009-09-27 14:07:49.748 TVRec(6): Signal monitor successfully created
2009-09-27 14:07:49.748 TVRec(6): Setting up table monitoring.
2009-09-27 14:07:49.750 Using profile 'Live TV' to record
2009-09-27 14:07:49.751 TVRec(6): MPEG program number: 1
2009-09-27 14:07:49.751 DTVSM(0022CECC76B00000)::SetProgramNumber(1):
2009-09-27 14:07:49.751 SM(0022CECC76B00000)::RemoveFlags: Seen(PMT,Crypt,) Match(PMT,Crypt,) Wait()
2009-09-27 14:07:49.751 SM(0022CECC76B00000)::AddFlags: Seen() Match() Wait(PMT,)
2009-09-27 14:07:49.751 SM(0022CECC76B00000)::AddFlags: Seen() Match() Wait(PAT,PMT,Pos,)
2009-09-27 14:07:49.751 TVRec(6): Successfully set up MPEG table monitoring.
2009-09-27 14:07:49.751 SM(0022CECC76B00000)::Start: begin
2009-09-27 14:07:49.751 FireDev(0022CECC76B00000): Requesting STB Power State
2009-09-27 14:07:49.751 SM(0022CECC76B00000)::Start: end
2009-09-27 14:07:49.751 TVRec(6): SetFlags(SignalMonitorRunning,) -> RunMainLoop,SignalMonitorRunning,
2009-09-27 14:07:49.751 TVRec(6): ClearFlags(WaitingForSignal,) -> RunMainLoop,SignalMonitorRunning,
2009-09-27 14:07:49.751 TVRec(6): SetFlags(WaitingForSignal,) -> RunMainLoop,WaitingForSignal,SignalMonitorRunning,
2009-09-27 14:07:49.751 TVRec(6): ClearFlags(NeedToStartRecorder,) -> RunMainLoop,WaitingForSignal,SignalMonitorRunning,
2009-09-27 14:07:49.751 TVRec(6): SetFlags(NeedToStartRecorder,) -> RunMainLoop,WaitingForSignal,NeedToStartRecorder,SignalMonitorRunning,
2009-09-27 14:07:49.754 FireDev(0022CECC76B00000): STB Power State: On
2009-09-27 14:07:49.754 SM(0022CECC76B00000)::AddFlags: Seen(STB,) Match(STB,) Wait()
2009-09-27 14:07:49.754 FireSM(0022CECC76B00000): RunTableMonitor(): -- begin
2009-09-27 14:07:49.754 LFireDev(0022CECC76B00000): Starting Port Handler Thread
2009-09-27 14:07:49.754 LFireDev(0022CECC76B00000): Starting Port Handler Thread -- locked
2009-09-27 14:07:49.754 LFireDev(0022CECC76B00000): OpenPort()
2009-09-27 14:07:49.754 FireSM(0022CECC76B00000): UpdateValues() -- Waiting for table monitor to start
2009-09-27 14:07:49.755 LFireDev(0022CECC76B00000): OpenPort() -- got lock
2009-09-27 14:07:49.755 FireDev(0022CECC76B00000): AddListener() 1
2009-09-27 14:07:49.755 LFireDev(0022CECC76B00000): Opening P2P connection
2009-09-27 14:07:49.755 FireSM(0022CECC76B00000): UpdateValues() -- Table monitor started
2009-09-27 14:07:49.758 AutoExpire: CalcParams(): Max required Free Space: 3.0 GB w/freq: 15 min
2009-09-27 14:07:49.761 scheduler: Started recording: NFL Football "Kansas City Chiefs at Philadelphia Eagles": channel 1811 on cardid 6, sourceid 2
libiec61883 warning: Overlayed connection on channel 0.
You may need to manually set the channel on the receiving node.
2009-09-27 14:07:49.763 LFireDev(0022CECC76B00000): OpenAVStream
2009-09-27 14:07:49.763 LFireDev(0022CECC76B00000): Opening A/V stream object
2009-09-27 14:07:49.763 LFireDev(0022CECC76B00000): Buffered packets 2000 (8000 KB)
2009-09-27 14:07:49.763 LFireDev(0022CECC76B00000): Starting A/V streaming -- really
2009-09-27 14:07:49.770 LFireDev(0022CECC76B00000): Starting A/V streaming -- done
$ mythbackend --version
Please include all output in bug reports.
MythTV Version : 22072
MythTV Branch : trunk
Network Protocol : 48
Library API : 0.22.20090919-1
QT Version : 4.5.0
Options compiled in:
 linux debug using_oss using_alsa using_pulse using_jack using_backend using_dvb using_firewire using_frontend using_glx_proc_addr_arb using_hdhomerun using_hdpvr using_iptv using_ivtv using_joystick_menu using_libfftw3 using_lirc using_mheg using_opengl_video using_opengl_vsync 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_libavc_5_3 using_live using_mheg

Is the issue that it cannot find a PAT?
Not a new/recent breakage... its been like this forever.

Attachments (4)

0001-Add-firewire_gen_psip-boolean-to-capturecard-db-sche.patch (4.6 KB) - added by Chase Douglas <chasedouglas@…> 3 years ago.
0002-Populate-gen_psip-variable-of-FireWireDBOptions.patch (1.7 KB) - added by Chase Douglas <chasedouglas@…> 3 years ago.
0003-Generate-PSI-packets-for-broken-firmware-cable-boxes.patch (13.1 KB) - added by Chase Douglas <chasedouglas@…> 3 years ago.
0004-Add-checkbox-for-firewire-PSIP-generation.patch (1.7 KB) - added by Chase Douglas <chasedouglas@…> 3 years ago.

Download all attachments as: .zip

Change History (16)

comment:1 Changed 5 years ago by mitchell.gore@…

I am the one who filed the big report in mythbuntu. If you have any suggestions and patches please let me know.

Mitchell

comment:2 Changed 4 years ago by robertm

  • Component changed from MythTV - General to MythTV - Recording
  • Owner changed from ijr to danielk

comment:3 Changed 4 years ago by danielk

  • Resolution set to invalid
  • Status changed from new to closed

I can't access the mpg, but it appears that the PMT is missing. The MythTV tuning code requires at least a PAT and PMT as per spec. Any attempt to add support for building a PMT on the fly based on the content of the data on the wire would be a feature request. It's a sufficiently rare case that I'm not really interested in implementing that feature myself.

comment:4 Changed 3 years ago by Chase Douglas <chasedouglas@…>

  • Resolution invalid deleted
  • Status changed from closed to new

comment:5 Changed 3 years ago by Chase Douglas <chasedouglas@…>

I have created some patches to implement PAT and PMT generation. I will attach them to this bug.

I am new to MythTV as a contributor, so the patches may need coding standards or other rework. I also developed the patch on my system running 0.24-fixes and rebased to master, but I haven't tested the master version other than to see that it compiles properly.

The only known issue with the patch is that it assumes the audio stream is AAC and the video stream is MPEG2. Any guidance on how firewiredevice.cpp should be modified to allow for other codecs would be appreciated.

Thanks!

Changed 3 years ago by Chase Douglas <chasedouglas@…>

Changed 3 years ago by Chase Douglas <chasedouglas@…>

Changed 3 years ago by Chase Douglas <chasedouglas@…>

Changed 3 years ago by Chase Douglas <chasedouglas@…>

comment:6 Changed 3 years ago by chasedouglas@…

Please disregard the attached patches. I have reworked them and created a pull request on github:

https://github.com/MythTV/mythtv/pull/10

comment:7 follow-up: Changed 2 years ago by stuartm

  • Milestone changed from unknown to 0.26
  • Type changed from defect to Patch - Bug Fix
  • Version changed from unknown to Master Head

Up to date patches supplied, but probably too many changes for 0.25. Setting milestone to 0.26 so they hopefully won't get overlooked for that release.

comment:8 in reply to: ↑ 7 Changed 2 years ago by rootrott@…

Replying to stuartm:

Up to date patches supplied, but probably too many changes for 0.25. Setting milestone to 0.26 so they hopefully won't get overlooked for that release.

Hello,

I have an rng110 that's experiencing this same issue. Is this still on deck to be included in .26? I compiled the latest git head and it's still broken there. It looks as if files are sufficiently different as to make these patches obsolete. I will try to merge by hand...

Thanks,

Seth

comment:9 Changed 21 months ago by danielk

  • Summary changed from SA8300HD STB doesn't record reliably via firewire to Add Support for ASIRecorder style PSIP generation to FirewireRecorder
  • Type changed from Patch - Bug Fix to Patch - Feature

comment:10 Changed 21 months ago by danielk

  • Milestone changed from 0.26 to unknown

comment:11 Changed 15 months ago by dbavatar@…

This has been broken for me for a long time, and I think that would cover a lot of firewire users. I saw a couple list posts where clearly the user had this problem and gave up on mythtv+firewire. Without this patch, firewire recording is simply broken for a lot of people. I've been using locally hacked PSIP for about 2 years waiting for someone to fix this. Can we get this in please?

comment:12 Changed 14 months ago by yfilali@…

This looks like an easy fix, and yet still broken for so many. Any chance this could be scheduled again or at least made easy to patch in?

Add Comment

Modify Ticket

Action
as new .
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.