summaryrefslogtreecommitdiffstats
path: root/stream
diff options
context:
space:
mode:
authorOliver Freyermuth <o.freyermuth@googlemail.com>2015-01-05 20:27:22 +0100
committerwm4 <wm4@nowhere>2015-01-06 19:52:27 +0100
commit7f84da4902e183013f1250fed2dbfaa86a636db1 (patch)
tree4d1e6bf99cf8dbf6941acbb289fb24d2f570bc49 /stream
parentf309ecebe5da1eb7daa93a2b8bda3e956d8ebfec (diff)
downloadmpv-7f84da4902e183013f1250fed2dbfaa86a636db1.tar.bz2
mpv-7f84da4902e183013f1250fed2dbfaa86a636db1.tar.xz
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.
Diffstat (limited to 'stream')
-rw-r--r--stream/dvbin.h2
-rw-r--r--stream/stream_dvb.c14
2 files changed, 15 insertions, 1 deletions
diff --git a/stream/dvbin.h b/stream/dvbin.h
index 61bc0b1e18..2a9130e5aa 100644
--- a/stream/dvbin.h
+++ b/stream/dvbin.h
@@ -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 {
diff --git a/stream/stream_dvb.c b/stream/stream_dvb.c
index 6a50bb66f5..e3503af697 100644
--- a/stream/stream_dvb.c
+++ b/stream/stream_dvb.c
@@ -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.