This reverts commit 2c612051f8.
This was done for a reason, but unfortunately it wasn't really done properly
and causes some unintended side-effects. The basic principle still needs
some looking at, but properly handled differently.
This is based on feedback from linuxstb, I'm not 100% convinced about all
aspects. But will throw it out there and see what others think of the change.
This breaks if, like me, you're using a proxy (or browser) which doesn't
support persitent connections, since you just get a constant reloading
of the UI! Will have to re-think, since ultimately what I really want is
to know user auth's within the UI, so possibly that will be easier when
we do away with HTTP Basic Auth, but also probably require restructuring
of this code.
This will indiscrimately include all HTSP and HTTP connections, first pass
I was going to just dump the lot on a UI status tab. However it could be
some filtering might be useful.
Only adapters that have active frontends will be enabled in capmt. In
addition to this I've also fixed code so it will actually honour the port
configuration (which was being ignored in OSCAM mode).
it's now possible to change hte number of satconfs in advanced mode,
however at the moment the only way to delete something is by reducing the
number of orbital positions and this will always delete the last element.
Not ideal and I'm sure people will complain, but i can't be assed to add
the delete button (at the moment)!
I actually had this basically working, but then barrelled on with changing
satconf further, without committing anything (got back into old SVN bad habits)
so what's here is a bit of a half finsihed mess
Also fix raw streaming where data is not %188, previously the code would have
sent duplicate bytes which would have caused (unecessary) errors downstream.
This is now possible at 4 levels:
1. The global defaults (for known bad muxes)
2. The network
3. The mux
4. The service
Such that 4 overrides 3, overrides 2, etc...
this was because it reverted to using the display string and doing
a reverse mapping. Which is clearly the wrong way to do things when you
can have multiple display fields for the same key value.
The reason for this is there isn't a command for "changing" channel, this may
be changed in the future. So to simulate it the subscription weight is change
to a minimum level and then a new one can be created, thus reducing the need
to stop the tuner (especially for in mux zaps).
This allows user configuration which in the event of no setting will fallback
to information automatically determined from the services.
I have also updated the name stuff and simplified it a bit (with one minor
change to idnode to support).
Many of these are somewhat redundant now, as I've suppressed many of the
warnings as they're false positives. However the changes, such as added
a detach flag to tvhthread_create(), have been kept anyway.
This is because the field can now be NULL and there were places where this
was not properly checked. So now a function call channel_get_name() should
be used instead and is garaunteed to return non-NULL.
In addition to this there is a nice added benefit. You can NOT set the name,
and it will automatically pull the name from the first available service. This
will not be persistent (part of config) unless you change that name and save
from the UI. This means if the service name changes, so will the channel name.
However on that last point there will not be, currently, any message sent to
the clients (HTSP) to inform them of such a change. So there might be some lag
in getting the update.
I'd added this so that ALL mux subs tried to use fullmux reception. This was
clearly not what was intended as the only time this is needed (at present)
is when subscribing for muxdump from the webui.