aboutsummaryrefslogtreecommitdiffstats
path: root/utils/dvb/dvbv5-zap.c
diff options
context:
space:
mode:
Diffstat (limited to 'utils/dvb/dvbv5-zap.c')
-rw-r--r--utils/dvb/dvbv5-zap.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/utils/dvb/dvbv5-zap.c b/utils/dvb/dvbv5-zap.c
index 0b8f98c9..8420d99d 100644
--- a/utils/dvb/dvbv5-zap.c
+++ b/utils/dvb/dvbv5-zap.c
@@ -1028,6 +1028,7 @@ int main(int argc, char **argv)
int vpid = -1, apid = -1, sid = -1;
int pmtpid = 0;
struct dvb_open_descriptor *pat_fd = NULL, *pmt_fd = NULL;
+ struct dvb_open_descriptor *sdt_fd = NULL;
struct dvb_open_descriptor *sid_fd = NULL, *dvr_fd = NULL;
struct dvb_open_descriptor *audio_fd = NULL, *video_fd = NULL;
int file_fd = -1;
@@ -1228,6 +1229,19 @@ int main(int argc, char **argv)
args.dvr ? DMX_OUT_TS_TAP : DMX_OUT_DECODER,
args.dvr ? 64 * 1024 : 0) < 0)
goto err;
+
+ /*
+ * SDT may also be needed in order to play some streams
+ */
+ sdt_fd = dvb_dev_open(dvb, args.demux_dev, O_RDWR);
+ if (!sdt_fd) {
+ ERROR("opening sdt demux failed");
+ goto err;
+ }
+ if (dvb_dev_dmx_set_pesfilter(sdt_fd, 0x0011, DMX_PES_OTHER,
+ args.dvr ? DMX_OUT_TS_TAP : DMX_OUT_DECODER,
+ args.dvr ? 64 * 1024 : 0) < 0)
+ goto err;
}
if (args.all_pids++) {

Privacy Policy