Adam Sutton [Tue, 10 Sep 2013 23:18:44 +0000 (00:18 +0100)]
linuxdvb: add option to stop closing FEs and attempt to stop on retune
Rather than adding an explicit flag (to stop mux calls) on retune I
have moved the frontend close operation to be done in the background
monitor timer. This isn't foolproof but will cover most things
and I can probably add a delay to cause that to not execute immediately
should the timer be about to expire.
Adam Sutton [Tue, 10 Sep 2013 15:18:30 +0000 (16:18 +0100)]
subscription: add in/out bandwidth indicator
Now have the concept of both input and output bandwidth usage of a sub.
The reason for this is that while data may be flowing into the subscription,
i.e. a signal is being received. Things like timeshift, or even potentially
flow control, may mean the actual outgoing rate is quite different.
Input rate is added by the subscription code as data enters the sub, however
the output rate must be added by the subscription handler as close to the
client as possible.
Adam Sutton [Tue, 10 Sep 2013 12:50:04 +0000 (13:50 +0100)]
subscription: reworked the subscription handling to avoid re-entrancy
This is particularly important for null susbcriptions that receive no
stream data and therefore handle the SMT_STOP inline (actually was
direct before). This causes list corruption, therefore these subs
are now stored to a secondary list that are cleaned up within the
standard rescheduler.
Adam Sutton [Thu, 5 Sep 2013 22:46:43 +0000 (23:46 +0100)]
subscriptions: stop re-entrant call to subs_reschedule()
THe problem is that mux subs have been done such that unsubscribe
(which in turn calls subs_reschedule()) can itelf be called in line
from subs_reschedule().
Really this is a bit of a mess but this simple hack fixes things.
Adam Sutton [Wed, 4 Sep 2013 00:03:11 +0000 (01:03 +0100)]
tvhlog: ensure the logging Q is bounded in size, else it can become a leak
If processing because so high that the log queue becomes swamped we can
end up with a sort of avalanche scenario where everything gradually slows
down and the size of the buffer continues to grow. The main culprits of
this have been eliminated at source, however this is still a useful
safe guard.
Adam Sutton [Tue, 3 Sep 2013 22:14:31 +0000 (23:14 +0100)]
tvhlog: performance improvement when trace/debug is disabled.
The processing performed in the hexdump routine, commonly used in
SI table trace output. Was having a significant impact on performance
as it was not pre-processing the config to see if trace was even
enabled before continuing to build up the (large and frequent) hex
strings.
Adam Sutton [Mon, 2 Sep 2013 09:58:22 +0000 (10:58 +0100)]
subscription: Created a proper mux subscription mechanism
It's a bit ugly to link subs and mpegts directly, but its not the end
of the world (and probably unavoidable without lots of duplication).
I'm still not convinced its robust to mux deletions if subs exist on
that mux. Probably needs mmi to be ref counted.
There is also a special kind of sub that expects to receive no stream
data, i.e. all data will come from the SI tables only. This special
sub is automatically unsubscribed (but that might need changing).
Adam Sutton [Wed, 28 Aug 2013 20:08:11 +0000 (21:08 +0100)]
tvhlog: ensure the tvhlog thread completes before exit
Note: I think my thinking for needing this logging thread is possibly
no longer valid. So this might be removed at some point (or at least
made optional).
Adam Sutton [Fri, 30 Aug 2013 22:07:56 +0000 (23:07 +0100)]
support: Configuration migration script
This attmepts to rebuild the DVB network (not including satconf/adapters)
and also the channel list. This is 90+% of the work and should be enough
for most users to get up and running a bit more quickly.
Adam Sutton [Fri, 23 Aug 2013 14:39:25 +0000 (15:39 +0100)]
epggrab: complete update to OTA mux and EIT
Still haven't touched OpenTV and there are several hacks in here for which
a proper solution is required.
(cherry picked from commit 9212120eb4c92aacb0d9cb75624961bf27e2ef5a)
Adam Sutton [Tue, 27 Aug 2013 20:13:22 +0000 (21:13 +0100)]
linuxdvb: ensure that PID filters are not installed early
I thought this was causing stale data to enter the pipelines, turns
out this was not the case (it was just a NIT entry for a mux that
didn't exist colliding with one that did).
Adam Sutton [Mon, 26 Aug 2013 20:30:55 +0000 (21:30 +0100)]
tvhlog: move output to a thread
I'm hoping this will give a small performance boost with heavy levels
of trace. This is because I'm finding that data appears to be missing
when testing EIT, but to test I need to enable debug and I think that
debug may be part of the problem!
(cherry picked from commit d59421f91896fe30cd6ba6507f90ad0766903ae3)
Adam Sutton [Thu, 22 Aug 2013 21:38:42 +0000 (22:38 +0100)]
iptv: further fixes to input processing
I had forgotten to make the read() buffers mux specific. Without this they
effectively end up using the same buffer for all active sessions and will
trample all over each other!
Adam Sutton [Sat, 3 Aug 2013 12:39:55 +0000 (13:39 +0100)]
service_mapper: New service mapper code
This will now allow the mappings between services and channels to be created.
Some basic options have been created for the purpose of allowing certain
level of control of how the mapping is done.
Adam Sutton [Fri, 16 Aug 2013 12:49:25 +0000 (13:49 +0100)]
api webui: simplified webui API by removing "args" field
The API code has also been updated to use the htsmsg auto conversion of
strings to map/list where required. Basic approach is check for list/map
first and if that fails fallback to string (if that's whats appropriate
for a mixed type field).
Adam Sutton [Fri, 16 Aug 2013 12:47:41 +0000 (13:47 +0100)]
htsmsg: added automatic conversion from string to msg/list
This is done on request if the string can be JSON deserialized. This is
useful for the common API where the webui will be sending in serialized
strings and saves having the special case "args" field.
For things like HTSP, which deal directly in htsmsg, the fields should
already have been converted to the right formats etc...
Adam Sutton [Thu, 15 Aug 2013 21:31:47 +0000 (22:31 +0100)]
htsmsg prop: some tidying up of type conversions
Really this lot could do with a proper tidy up, but probably for another day
and since this code is kinda shared with showtime I want to keep the changes
to a minimum until I've had a chance to discuss with Andreas.
jurrabi [Sat, 10 Aug 2013 10:43:59 +0000 (12:43 +0200)]
Include correct charset selection for Canal + Spain Transponders
Canal + uses it's own encoded guide. But info for Current-Next program is delivered using standard EPG DVB-S method. But it doesn't indicate correctly the encoding used (latin) so TVH shows information assuming UTF-8 and this doesn't show correctly latin chars (áéíóúñ and things like that).
This modification allows tvh to correctly identify charset for current (as of today 10Aug2013) Canal + Spain transponders.