mirror of
https://github.com/mpv-player/mpv
synced 2025-03-20 18:28:01 +00:00
stream_dvb: Record PIDs with human-readable content, bump max demuxer count.
There is the STD which contains service-names (ffmpeg can understand it), and the EIT which contains the EPG (ffmpeg does not parse it, but e.g. VLC does). As we now have more PIDs in general, increase the maximum number of demuxers we can open. ffmpeg has an internal limit of 64 PIDs, we are still far from that.
This commit is contained in:
parent
f309ecebe5
commit
7f84da4902
@ -55,7 +55,7 @@
|
||||
#define DVB_CHANNEL_HIGHER 1
|
||||
|
||||
#ifndef DMX_FILTER_SIZE
|
||||
#define DMX_FILTER_SIZE 16
|
||||
#define DMX_FILTER_SIZE 32
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
|
@ -387,6 +387,20 @@ static dvb_channels_list *dvb_get_channels(struct mp_log *log, char *filename, i
|
||||
ptr->pids_cnt++;
|
||||
}
|
||||
|
||||
/* Add some PIDs which are mandatory in DVB,
|
||||
* and contain human-readable helpful data. */
|
||||
|
||||
/* This is the STD, the service description table.
|
||||
* It contains service names and such, ffmpeg decodes it. */
|
||||
ptr->pids[ptr->pids_cnt] = 0x0011;
|
||||
ptr->pids_cnt++;
|
||||
|
||||
/* This is the EIT, which contains EPG data.
|
||||
* ffmpeg can not decode it (yet), but e.g. VLC
|
||||
* shows what was recorded. */
|
||||
ptr->pids[ptr->pids_cnt] = 0x0012;
|
||||
ptr->pids_cnt++;
|
||||
|
||||
if (ptr->service_id != -1) {
|
||||
/* We have the PMT-PID in addition.
|
||||
This will be found later, when we tune to the channel.
|
||||
|
Loading…
Reference in New Issue
Block a user