Jasmin Jessich [Sat, 18 Nov 2017 01:38:51 +0000 (02:38 +0100)]
Added ECM PIDs subscribing
- dvbcam_service_start can be now executed repeatedly. This happens due to
PMT changes (e.g.: CA descriptor change).
- Limit check in dvbcam removed, because this needs to be done per CAM.
- Currently 16 ECM PIDs can be stored.
- CAID change handler is still missing.
Jasmin Jessich [Sun, 19 Nov 2017 23:20:10 +0000 (00:20 +0100)]
Remove mpegts_input_open_service_pid
- When dvbcam_service_start is executed the first time c->pid is 0.
dvbcam_service_start is not executed a second time, so it makes
no sense to subscribe the PAT for the CAM.
E.Smith [Thu, 16 Nov 2017 11:20:52 +0000 (11:20 +0000)]
api: Add api convenience call for renaming channels. (#4715).
Add a convenience function for users to rename all channels
that match a particular name. Previously the caller needed
to parse an api/channel/list, extract each channel that
matched the name and then issue an idnode/save for the nodes.
This change allows people to easily fixup their names such as
updating channels that are broadcast with a lowercase name
(and so sort to the end of the list in many UIs); or prefixing
the channels with identifiers. Since the server does the channel
name lookup, it allows non-programmers to issue simple renames
from a script.
Jasmin Jessich [Sun, 12 Nov 2017 17:07:13 +0000 (18:07 +0100)]
Make DD CI functional
- Extend dvbcam_ca_lookup to support DD CI.
- Allow currently only one DD CI per service.
- Attach a new descrambler function to dr_descramble.
- New function dvbcam_is_ddci to be used by mpegts.
- Fixed a memory leak in dvbcam_service_destroy.
- Select CA PIDs if a DD CI is attached to a service.
- Forward CA PIDs to the descrambler in ts_recv_packet1, if it is a DD CI.
- Do not forward CA PIDs to the transport stream (after reading them from
DD CI) in ts_recv_packet0.
- Fixed typo in mpegts.h.
Jasmin Jessich [Sun, 12 Nov 2017 16:50:33 +0000 (17:50 +0100)]
Added DDCI detection and creation
- Check if a device ciX or secX exists.
- Create also the DD CI structure, if one of the ci pathes have been found.
- Open and close the DD CI in linuxdvb_ca_class_enabled_notify.
Jasmin Jessich [Sun, 12 Nov 2017 16:04:02 +0000 (17:04 +0100)]
Added DD CI support into new file
- New file linuxdvb_ddci.c
- DD CI related data are stored in a separate structure (struct
linuxdvb_ddci).
- struct linuxdvb_ca stores a pointer to the new DD CI data structure
which gets allocated, if a DD CI exists (see next commit).
- Added logging subsystem LS_DDCI.
- Compile linuxdvb_ddci.c if DD CI is enabled.
- Added config option ddci.
E.Smith [Mon, 6 Nov 2017 12:03:02 +0000 (12:03 +0000)]
dvr: Prefer image from current broadcast to persisted image, fixes #4685
A programme in the far future may have generic details and a generic
image. For example, "Oprah is interviewing people." As the programme
nears broadcast date, the programme may then get more specific details
and a more specific image ("Oprah is interviewing Bob").
So we prefer the image from the broadcast to the one currently persisted.
E.Smith [Tue, 31 Oct 2017 10:40:25 +0000 (10:40 +0000)]
ui: Persist image to dvr/log and send to ui. (#4685).
Previously it was only available for upcoming recordings
but now we persist it to the dvr/log so it can be sent
to clients and displayed on recorded programmes.
E.Smith [Thu, 12 Oct 2017 13:35:54 +0000 (14:35 +0100)]
dvr: Handle inotify moving file to different directory. (#4702)
Previously if we moved a file from one directory we are
monitoring to another directory we are monitoring then the
path would not be updated correctly since we did not lookup
the 'to_fd'.
E.Smith [Sun, 1 Oct 2017 01:46:53 +0000 (02:46 +0100)]
channel: Allow optional fuzzy matching when merging services, fixes #4709
For historical reasons, our DVB-T and DVB-S have different names
for the same channels. They often differ in case and spacing.
So we have 'One' and 'ONE', '5+1HD' and '5 +1HD'.
So allow an optional fuzzy matching checkbox to ignore whitespace
and HD markers. This allows the channels to be merged. The
exact name chosen depends on the order of mapping, so if the
HD channel is mapped first then they would all merge in to this
name, but if a non-HD channel is the first one created then that
name is chosen. However the name could be subsequently modified
by the user if they desire.
Jasmin Jessich [Wed, 1 Nov 2017 14:09:27 +0000 (15:09 +0100)]
Fixed crash on CAM remove
When TVH is terminated with <cntrl-c> and there is a CAM opened,
dvbcam_unregister_cam is executed prior to dvbcam_service_destroy.
dvbcam_unregister_cam will remove "as->ac" so linuxdvb_ca_enqueue_capmt,
executed in dvbcam_service_destroy will crash.
This should also fix a possible crash (not tested), when removing the
CAM with an active stream.