Opened 20 years ago

Closed 19 years ago

Last modified 19 years ago

#1701 closed task (fixed)

Add support for HDHomeRun device

Reported by: danielk Owned by: danielk
Priority: minor Milestone: 0.20
Component: mythtv Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description


Change History (19)

comment:1 by danielk, 20 years ago

(In [9729]) References #1701. Adds initial support for HDHomeRun device.

There are a few important features missing:

  • Channel Scanning
  • EIT data collection
  • PID filtering

The tuning is also slower than it could be.

I've created task ticket #1701 to remind me to implement these things.

comment:2 by danielk, 20 years ago

(In [9735]) References #1701. Adds support for channel scanning for HDHomeRun device.

comment:3 by danielk, 20 years ago

(In [9737]) References #1701. Adds support for passive EIT data collection.

comment:4 by danielk, 20 years ago

(In [9738]) References #1701. Adds pid filter tracking for HDHomeRun device.

The actual filtering command is disabled, there appears to be some problem at the silicondust lib or firmware level.

comment:5 by danielk, 20 years ago

(In [9743]) References #1035, References #1701.

You may need to do a distclean. This removes signals and slots from the channels and recorders.

I've tested this with every recorder I have access to, but I don't have access to a firewire or dbox2 recorder.

If you experience any problems please do a distclean before reporting the problem.

The reasons for getting rid of signals and slots in non gui elements are because they require delayed deletes and other extra complexity to avoid segfaults, and because they are not thread safe and are incompatible with virtual inheritence and multiple inheritence.

comment:6 by danielk, 19 years ago

(In [9886]) Refs #1701, check return value of HDHRChannel::Open().

Open() can fail when the device is turned off...

comment:7 by danielk, 19 years ago

Resolution: fixed
Status: newclosed

This is basically done, at least until I get QAM capable firmware.

comment:8 by danielk, 19 years ago

(In [10116]) Refs #1701. Enables HDHomeRun pid filtering + parses PMT for media pids.

comment:9 by danielk, 19 years ago

(In [10123]) Refs #1701. Fixes two problems with HDHomeRun recorder.

1/ We were only reading 7 TS Packets at a time on the video socket, now we read up to 700. This should reduce the multitasking requirements in dealing with packets. 2/ The HDHRRecorder handling of PMTs could cause a segfault on channel changes; this makes a copy of the table to avoid this.

comment:10 by danielk, 19 years ago

(In [10126]) Refs #1701. Cleans up pid filtering code a bit.

This syncs the pid filtering code with the DVB pid filtering code. This allows the HDHRRecorder to handle EIT throttling and intra-multiplex channel changing without allowing too many pids through.

comment:11 by danielk, 19 years ago

(In [10211]) Refs #1701. Adds buffering to the hdhomerun library with a patch from Nick Kelsey.

This reduces the real-time requirement of HDHRRecorder. It's needed because the kernel socket buffers are not deep enough to prevent overflow if the machine is even sligtly taxed. The HDHomeRun can't do much buffering internally, and streams the data via UDP without rate control to the recording host.

comment:12 by danielk, 19 years ago

(In [10222]) Refs #1701. Fixes a EIT PID thrashing problem with ATSC streams.

The pid filters kept getting bounced back and fourth between the EIT and ETT pids due to an error in GetEITPIDChanges(). This also changes the HDHR filter debug VERBOSE from VB_IMPORTANT to VB_CHANNEL.

comment:13 by danielk, 19 years ago

(In [10256]) Refs #1701. Sync from Silicondust version of hdhomerun lib. (socket cleanup)

comment:14 by danielk, 19 years ago

(In [10371]) Refs #1701. Sync with hdhomerun library.

comment:15 by danielk, 19 years ago

(In [10372]) Refs #1701. Refs #1704. Refs #1787. Adds recording profiles for recently added recorders, and makes RecordingProfile show an appropriate set of options for these recorders.

Basically, the UI for enabling auto-transcoding for these recorders was not there.

comment:16 by danielk, 19 years ago

(In [10380]) Refs #1701. Refs #1704. Refs #1787. Makes dbcheck SQL from [10372] work with MySQL 4.0 and older which didn't support subqueries.

comment:17 by danielk, 19 years ago

(In [10596]) Fixes #2064. Refs #1701. Lowers bandwidth requirements for RTSP recording startup by sharing one session for both signal monitoring and recording.

comment:18 by danielk, 19 years ago

(In [10605]) Refs #1701. A few small improvements to the HDHomeRun support from Nick Kelsey.

  • Rejiggers the hdhomerun_config parameter parsing so that --help is handled more correctly and prints more useful info.
  • Changes GetDevice() to return the recorder id in hex to better match other presentations of the id.
  • Calls hdhomerun_discover_validate_device_id() when in the HDHRChannel to validate the device id checksum, if it is invalid we print an error message try to find any HDHomeRun device on the network (of which there is hopefully only one..)

comment:19 by danielk, 19 years ago

(In [10639]) Refs #1701. Sync to latest hdhomerun lib. This fixes parsing of the ip for discovery and shows the correct help text for device help.

Note: See TracTickets for help on using tickets.