diff options
author | Oliver Endriss <devnull@localhost> | 2003-04-12 01:37:05 +0000 |
---|---|---|
committer | Oliver Endriss <devnull@localhost> | 2003-04-12 01:37:05 +0000 |
commit | ed53c097fbf1a3744cda2c9252796c46fcd00a62 (patch) | |
tree | 4b81aa50be36d35ab432a3f852abdec09540a832 | |
parent | d8bcca2542551e853ac3e50012c280062af0987b (diff) | |
download | mediapointer-dvb-s2-ed53c097fbf1a3744cda2c9252796c46fcd00a62.tar.gz mediapointer-dvb-s2-ed53c097fbf1a3744cda2c9252796c46fcd00a62.tar.bz2 |
fixed race condition between ChangePIDs() and av7110_before_after_tune()
when tuning to a new transponder with vdr, the audio pid was
not passed to the ARM firmware under some circumstances
-rw-r--r-- | linux/drivers/media/dvb/ttpci/av7110.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/linux/drivers/media/dvb/ttpci/av7110.c b/linux/drivers/media/dvb/ttpci/av7110.c index 07eb817f4..9578a1036 100644 --- a/linux/drivers/media/dvb/ttpci/av7110.c +++ b/linux/drivers/media/dvb/ttpci/av7110.c @@ -2005,8 +2005,13 @@ SetPIDs(av7110_t *av7110, u16 vpid, u16 apid, u16 ttpid, DEB_EE(("av7110: %p\n",av7110)); if (vpid == 0x1fff || apid == 0x1fff || - ttpid == 0x1fff || subpid == 0x1fff || pcrpid == 0x1fff) + ttpid == 0x1fff || subpid == 0x1fff || pcrpid == 0x1fff) { vpid = apid = ttpid = subpid = pcrpid = 0; + av7110->pids[DMX_PES_VIDEO] = 0; + av7110->pids[DMX_PES_AUDIO] = 0; + av7110->pids[DMX_PES_TELETEXT] = 0; + av7110->pids[DMX_PES_PCR] = 0; + } return outcom(av7110, COMTYPE_PIDFILTER, MultiPID, 5, pcrpid, vpid, apid, ttpid, subpid); |