Commit graph

3599 commits

Author SHA1 Message Date
Adam Sutton
f02bfac363 input: include missing information about stream info 2013-09-13 16:30:25 +01:00
Adam Sutton
9b03e05207 input: fix error in BER reporting 2013-09-13 16:19:29 +01:00
Adam Sutton
012b0ef80f linuxdvb: fix mistake in diseqc setup, missed LNB config entirely! 2013-09-13 15:50:31 +01:00
Adam Sutton
a6e5ee41dc mpegts: ensure that mux descriptor callback is only called with valid mux 2013-09-13 12:56:02 +01:00
Adam Sutton
c5eb0f404f linuxdvb: fix diseqc switch control (thanks to amet for fixing/testing).
The problem was that I played fast and loose with the diseqc spec. I set the
line volts much later than you're supposed to, for various reasons.

I've now sorted that, though because of the complexity if a rotor exists I
run a full re-program of the switch (only if a rotor is present). And I double
set the line volts, both in the switch (to ensure it happens early) and then
in the LNB tuning (in case no switch exists).
2013-09-13 11:05:29 +01:00
Adam Sutton
bb72cd525d subscriptions: reporting of subs output caused passthru streams to crash
I had forgotten that MPEGTS passes raw pktbuf not pkt and so was attempting
to incorrectly extract the length and causing it to crash.
2013-09-12 22:48:22 +01:00
Adam Sutton
83f6524344 subscription: fix double list insertion on detection of bad service
If a service was marked as bad (no input) it was not unlinking the
subscription from the service before re-applying, this resulted in
a double entry into the service subs list and ultimatey a livelock
or possibly worse.
2013-09-11 22:12:40 +01:00
Adam Sutton
ea33966fc3 tvhlog: added build define to remove logging thread.
I think eventually I'll make this is cmdline switch so I can turn it on if
I need it.
2013-09-11 22:12:05 +01:00
Adam Sutton
46b3f984c8 capmt: fix problems with capmt not being properly enabled
This was due to failure to properly reported which adapters have
been enabled. There are other problems with the capmt setup code
that really need addressing, but I don't have the time right now!
2013-09-11 21:04:30 +01:00
Adam Sutton
95c76059f7 idnode: make tree's default sorted by title 2013-09-11 10:00:22 +01:00
Adam Sutton
05dd018b5a debug: just some tidying up of debug output 2013-09-11 09:24:34 +01:00
Adam Sutton
e74f993b76 mpegts: ensure that potentially valid muxes are not ignored
It's possible a mux is not tunable, yet that doesn't imply the presence
of a free tuner means its invalid. It could just be that its an S2 mux
with only an S tuner available (just one example).
2013-09-11 09:24:34 +01:00
Adam Sutton
f7cb2fd74d Close a few file handles that have been left open unecessarily. 2013-09-11 08:47:31 +01:00
Adam Sutton
2a149671d6 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.
2013-09-11 00:22:06 +01:00
Adam Sutton
ee03fde53a subscriptions: add extra debug 2013-09-11 00:18:19 +01:00
Adam Sutton
8e00dc64d9 mpegts: stop network scanning from failing due to bad mux 2013-09-11 00:18:19 +01:00
Adam Sutton
1253a97177 linuxdvb: add NULL ptr check for frontend on satconf 2013-09-10 23:26:36 +01:00
Adam Sutton
4fb7dca71e subscription: for stupid mistake causing double free()'s 2013-09-10 21:15:02 +01:00
Adam Sutton
64655df096 tsfile: fix debug output format error 2013-09-10 17:25:34 +01:00
Adam Sutton
ee7937f76a transcoder: check for language config is NULL 2013-09-10 17:23:08 +01:00
Adam Sutton
46eecb85f1 debug: output used non word sized format strings 2013-09-10 17:07:15 +01:00
Adam Sutton
73b35edae7 webui: some attempt to make enum lists more usable. 2013-09-10 16:27:22 +01:00
Adam Sutton
10854c1cf4 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.
2013-09-10 16:26:14 +01:00
Adam Sutton
e857acca84 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.
2013-09-10 15:48:23 +01:00
Adam Sutton
dfa5fc994e htsp: add NULL ptr check on channel name 2013-09-07 20:36:22 +01:00
Adam Sutton
78668f0a3c input: forgot to commit generic input processing. 2013-09-07 11:36:49 +01:00
Adam Sutton
aa50b12f85 webui: some cosmetics 2013-09-07 01:17:54 +01:00
Adam Sutton
0ac30583e7 channel: add ability to delete channels 2013-09-07 01:12:25 +01:00
Adam Sutton
4c54b9674e webui: add channel create button and service mapping
The service mapping button appears to have gone missing during the
integration with master.
2013-09-07 01:07:15 +01:00
Adam Sutton
c43fbc7e3f api: add channel create method 2013-09-07 01:06:55 +01:00
Adam Sutton
8ac1b3d7ed status: added back in basic status info
It will now show subscriptions and streams (tuners/muxes combined).
2013-09-07 00:21:20 +01:00
Adam Sutton
f16c29559e mpegts: ensure that services on already tuned muxes will start
Previously it was setting the weight for already tuned muxes which
made it appear as if the service couldn't be started!
2013-09-07 00:20:38 +01:00
Adam Sutton
21b16e5687 subscription: ensure that direct service subs work properly 2013-09-06 00:15:52 +01:00
Adam Sutton
a149908184 debug: hide thread start messages
we get a lot of spam due to HTTP server setup so this needs to be debug
2013-09-06 00:15:02 +01:00
Adam Sutton
831990453e mpegts: ensure muxes are properly stopped when unsubscribing svcs 2013-09-05 23:48:02 +01:00
Adam Sutton
997ccee895 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.
2013-09-05 23:46:43 +01:00
Adam Sutton
2b909fe580 debug: add wrapper for pthread_create to add a meaningful name
This is very useful for debugging. Though tbh I need to do this code
properly.
2013-09-05 22:19:25 +01:00
Adam Sutton
83f0e0cdf2 epggrab: further fixes to stop chicken/egg scenarios
too many A calls B calls A depending on state etc... but can't be
bothered at this stage to re-engineer the lot!
2013-09-05 15:21:49 +01:00
Adam Sutton
e087621fed opentv: ensure that we can't double delete table
THis might happen if registering that the scan is complete removes
the table.
2013-09-05 15:21:34 +01:00
Adam Sutton
d9b710ecf9 epggrab: change order of init to ensure things work properly 2013-09-05 15:14:41 +01:00
Adam Sutton
f31ee8fdcf epggrab: sort out configuration for epggrab ota muxes 2013-09-04 22:15:10 +01:00
Adam Sutton
23751f8373 epggrab: corrections to the way the whole ota mux system works 2013-09-04 21:23:44 +01:00
Adam Sutton
97e9c725f0 mpegts: improvements to DVB SI processing
I've made the table extraid 64 bits, as some entries require 32+X bits
so a 32-bit field wasn't enough.

Added callback for registering destruction (for dealloc'ing memory
alloc'd for opaque).

Added method of registering desciptor tag handlers, saves duplicating
BAT processing used for OpenTV, which uses 1 custom descriptor.

Improved the table completion detection and reduced level of debug
that could swamp tvhlog queue.
2013-09-04 21:23:24 +01:00
Adam Sutton
b56a203fb5 opentv: updated to new APIs
This uses a significantly simpler setup, table is processed in a
linear fashion.
2013-09-04 21:23:24 +01:00
Adam Sutton
cd1adfbbfc subscriptions: corrections to the way ota muxes are unlinked 2013-09-04 21:23:24 +01:00
Adam Sutton
c83c5eb917 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.
2013-09-04 21:19:44 +01:00
Adam Sutton
709f86057d 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.
2013-09-04 21:19:43 +01:00
Adam Sutton
84677dd6c1 linuxdvb: fixed leaving dangling file handles and stop FE on stop
Note: really we don't want to close the FE if we're planning to
retune, but I need to change the API to support that operation.
2013-09-02 11:21:58 +01:00
Adam Sutton
16f9e11fd8 subscription: some minor corrections for mux sub 2013-09-02 11:12:26 +01:00
Adam Sutton
8dce44a9bf webui: make it possible to subscribe to a mux
I'm not entirely convinced this is fully working. I'm sure the data
rate was too low.
2013-09-02 11:02:03 +01:00