Modify

Opened 12 years ago

Closed 11 years ago

Last modified 10 years ago

#2152 closed enhancement (invalid)

Add support for "udp:" urls in FreeboxRecorder

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

Description

Refs #1704. With the following patch, the FreeboxRecorder? can now record (multiple) udp urls (the same ones as the CRCIP Recorder does).

Attachments (5)

patch-freebox-udp.diff (28.3 KB) - added by mythtv@… 12 years ago.
The patch
udp.patch (34.7 KB) - added by mikemiron@… 12 years ago.
Alternative version
patch-freebox-unified-udp-v6.diff (64.1 KB) - added by mythtv@… 12 years ago.
The unified patch
patch-freebox-unified-udp-v15.diff (86.0 KB) - added by mikemiron@… 11 years ago.
new version of patch
patch-freebox-unified-udp-v18.diff (87.5 KB) - added by mythtv@… 11 years ago.
Latest patch (for backup purpose)

Download all attachments as: .zip

Change History (13)

Changed 12 years ago by mythtv@…

The patch

comment:1 Changed 12 years ago by danielk

  • Milestone set to 0.21
  • Type changed from patch to enhancement

Very cool :)

comment:2 Changed 12 years ago by mikemiron@…

Thank for patch. Sorry, but I see this patch too late, when I was finished same work :(.

I agree another solution. General changes:

  1. It's work for me :) . Patch added by mythtv[at]remars.com have two bugs. First - it not include file <cassert> in sources used assert, so compilation fail. Second and main - with my data channel switching may (depending on channel) give error. Cause of this error - caching in MPEGStreamData class. PAT & PMT packed come after channel switching examine as redurant and on this case recorder can't handle key frame (they waiting for incorrect video PID). Solution - redefine Reset method in recorder.
  2. My solution based on livemedia library - they realization of multicast handling is better than in avformat (support reuse socket,avtomatic multicast/unicast detection).
  3. M3U lists now can be load from local fs and ftp (not tested).
  4. I use base class instead of wrapper

Changed 12 years ago by mikemiron@…

Alternative version

comment:3 Changed 12 years ago by mythtv@…

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

Unified patch in preparation.

Changed 12 years ago by mythtv@…

The unified patch

comment:4 Changed 12 years ago by mythtv@…

  • Resolution invalid deleted
  • Status changed from closed to reopened

New unified patch. Major changes are:

  • uses livemedia to stream the udp urls
  • the m3u can be read in a local file or downloaded using ftp protocol
  • major refactorings : adding new protocol should be easier now
  • few bug fixes

Thanks to Mike Mironov for its great work.

Changed 11 years ago by mikemiron@…

new version of patch

comment:5 Changed 11 years ago by mikemiron@…

New version of patch. Major changes:

  • Add support for RTP protocol with MPEG2-TS payload.
  • Add support for file protocol. Main purpose of this is allow to debug problem with streams on other machines (as my problems with channel changing). This protocol support only MPEG2-TS files. For any other files use MythVideo?.
  • Add class TSPacketSplitter that split stream data in TSPacket. It may be useful for other recorders.
  • Change choosing class for protocol. Now we use ClassFactory? pattern. It's simplify creating new protocol handlers.

Great thanks to Mickaël Remars for its work.

comment:6 Changed 11 years ago by danielk

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

Thanks for all the work the two of you have done, I'm greatful and I would like to get this functionality into MythTV. However, this patch is way too big.

Please break this into 10kb to 20kb sized patches. A few patches for the reorganization, which don't add or subtract any features but are fully functional. At least one patch for each file type or protocol added.

Please also document every class with doxygen, and any method whose name does not fully explain the function of the method. Finally, put a summary of all the classes and important methods and how they interact in the FreeboxRecorder? class documentation (See videooutbase for an example.)

Please don't add any classes without thinking about it carefully, the freebox code already has more classes than any other recorder. Any general MPEG classes that are added should go into libs/libmythtv/mpeg, but the TSPacketSplitter functionality appears to already exist in the StreamData? classes.

Changed 11 years ago by mythtv@…

Latest patch (for backup purpose)

comment:7 Changed 11 years ago by anonymous

  • Cc scott@… added

comment:8 in reply to: ↑ description Changed 10 years ago by sgunderson@…

Replying to mythtv@remars.com:

Refs #1704. With the following patch, the FreeboxRecorder? can now record (multiple) udp urls (the same ones as the CRCIP Recorder does).

Is there any chance of a HTTP patch too? I have a couple of streams that are easily accessible via HTTP, but the packet loss on my line is too great to try to get stuff down via UDP.

Add Comment

Modify Ticket

Action
as closed The owner will remain danielk.
The resolution will be deleted. Next status will be 'new'.
Author


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

 
Note: See TracTickets for help on using tickets.