summaryrefslogtreecommitdiff
path: root/demux.cpp
diff options
context:
space:
mode:
authorJochen Dolze <vdr@dolze.de>2010-03-26 23:03:00 +0100
committerJochen Dolze <vdr@dolze.de>2010-03-26 23:03:00 +0100
commit9d00888b7602718f6b6954a51a8bfd468b5573fb (patch)
tree1349a0732047529fd2ae9e92aede42ca548bf3b2 /demux.cpp
parentb445c3bdbb6b222468052be12ee36422a99a8323 (diff)
downloadvdr-plugin-markad-9d00888b7602718f6b6954a51a8bfd468b5573fb.tar.gz
vdr-plugin-markad-9d00888b7602718f6b6954a51a8bfd468b5573fb.tar.bz2
Fixed buffer full bug, added queue debugging (-v -v)
Diffstat (limited to 'demux.cpp')
-rw-r--r--demux.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/demux.cpp b/demux.cpp
index e581511..55113a8 100644
--- a/demux.cpp
+++ b/demux.cpp
@@ -15,7 +15,7 @@ cMarkAdDemux::cMarkAdDemux()
pes2videoes=NULL;
pause=false;
pause_retval=0;
- queue = new cMarkAdPaketQueue("Demux",376);
+ queue = new cMarkAdPaketQueue(NULL,376);
}
cMarkAdDemux::~cMarkAdDemux()
@@ -36,7 +36,17 @@ void cMarkAdDemux::ProcessVDR(MarkAdPid Pid, uchar *Data, int Count, uchar **Pkt
uchar *pkt;
int pktlen;
- if (!vdr2pkt) vdr2pkt= new cMarkAdVDR2Pkt();
+ if (!vdr2pkt)
+ {
+ if ((Pid.Type==MARKAD_PIDTYPE_AUDIO_AC3) || (Pid.Type==MARKAD_PIDTYPE_AUDIO_MP2))
+ {
+ vdr2pkt= new cMarkAdVDR2Pkt("VDR2PKT audio");
+ }
+ else
+ {
+ vdr2pkt= new cMarkAdVDR2Pkt("VDR2PKT video");
+ }
+ }
if (!vdr2pkt) return;
vdr2pkt->Process(Pid,Data,Count,&pkt,&pktlen);
@@ -81,7 +91,7 @@ void cMarkAdDemux::ProcessTS(MarkAdPid Pid, uchar *Data, int Count, uchar **Pkt,
{
if (Pid.Type==MARKAD_PIDTYPE_VIDEO_H264)
{
- ts2pkt=new cMarkAdTS2Pkt("TS2H264",393216);
+ ts2pkt=new cMarkAdTS2Pkt("TS2H264",819200);
}
else
{