Hi there,
im currently trying to write a Plugin that reads a DVB-TS-File from hard disk acting as a VDR input device. To do this i derived my own device from cDevice, reading the file into a TSBuffer and return it package wise in GetTSPacket. This somehow works. But the playback is only ok for 2 seconds, and after that it starts hanging and skipping and i get these "transfer buffer overflow" messages. It seems like the data from the file is provided too fast, because the parts that are skipped are much longer than the time playback is stuck. Also i can record from the device, and the resulting File is ok, but if the recording runs for 10 seconds i get a file that is 40 seconds long.

But shouldn't the rate at which the TS-packets are gathered from the input device be controlled by the output device?

I tried this on two systems, both without DVB hardware:
1: vdr-1.3.44, xine-plugin 0.7.9
2: vdr-1.4.4, xineliboutput-plugin 1.0.0pre5

--------------------------------------------------------------------------------------------------------

   USER       PID  SPID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME 
COMMAND
   root      9118  9118  0.0 11.9  78228 61664 ?        Sl   12:29   0:00 ./vdr 
-Px
   root      9118  9121  0.0 11.9  78228 61664 ?        Sl   12:29   0:00 ./vdr 
-Px
   root      9118  9122  0.0 11.9  78228 61664 ?        Sl   12:29   0:00 ./vdr 
-Px
   root      9118  9123  0.0 11.9  78228 61664 ?        Sl   12:29   0:00 ./vdr 
-Px
   root      9118  9132  6.0 11.9  78228 61664 ?        Sl   12:29   0:03 ./vdr 
-Px
   root      9118  9133 10.3 11.9  78228 61664 ?        Sl   12:29   0:06 ./vdr 
-Px
   root      9118  9134 19.8 11.9  78228 61664 ?        Rl   12:29   0:12 ./vdr 
-Px



   Feb  2 12:29:06 linux vdr: [9132] transfer thread started (pid=9118, 
tid=9132)
   Feb  2 12:29:06 linux vdr: [9133] receiver on device 6 thread started 
(pid=9118, tid=9133)
   Feb  2 12:29:06 linux vdr: [9134] TS buffer on device 6 thread started 
(pid=9118, tid=9134)
   Feb  2 12:29:06 linux vdr: [9134] buffer usage: 90% (tid=9133)
   Feb  2 12:29:06 linux vdr: [9133] buffer usage: 70% (tid=9132)
   Feb  2 12:29:06 linux vdr: [9133] buffer usage: 80% (tid=9132)
   Feb  2 12:29:06 linux vdr: [9133] buffer usage: 90% (tid=9132)
   Feb  2 12:29:06 linux vdr: [9134] buffer usage: 0% (tid=9133)
   Feb  2 12:29:06 linux vdr: [9132] clearing transfer buffer to avoid overflows
   Feb  2 12:29:06 linux vdr: [9134] buffer usage: 100% (tid=9133)
   Feb  2 12:29:06 linux vdr: [9133] buffer usage: 0% (tid=9132)
   Feb  2 12:29:06 linux vdr: [9133] buffer usage: 70% (tid=9132)
   Feb  2 12:29:06 linux vdr: [9133] buffer usage: 80% (tid=9132)
   Feb  2 12:29:06 linux vdr: [9133] buffer usage: 90% (tid=9132)
   Feb  2 12:29:06 linux vdr: [9134] buffer usage: 0% (tid=9133)
   Feb  2 12:29:06 linux vdr: [9132] clearing transfer buffer to avoid overflows
   Feb  2 12:29:06 linux vdr: [9134] buffer usage: 100% (tid=9133)
   Feb  2 12:29:06 linux vdr: [9133] buffer usage: 0% (tid=9132)
   Feb  2 12:29:06 linux vdr: [9133] buffer usage: 70% (tid=9132)
   Feb  2 12:29:06 linux vdr: [9133] buffer usage: 80% (tid=9132)
   Feb  2 12:29:06 linux vdr: [9134] buffer usage: 0% (tid=9133)
   Feb  2 12:29:06 linux vdr: [9132] setting audio track to 33 (0)
   Feb  2 12:29:07 linux vdr: [9134] buffer usage: 100% (tid=9133)
   Feb  2 12:29:07 linux vdr: [9133] buffer usage: 0% (tid=9132)
   Feb  2 12:29:07 linux vdr: [9133] buffer usage: 70% (tid=9132)
   Feb  2 12:29:07 linux vdr: [9133] buffer usage: 80% (tid=9132)
   Feb  2 12:29:07 linux vdr: [9134] buffer usage: 0% (tid=9133)
   Feb  2 12:29:07 linux vdr: [9134] buffer usage: 100% (tid=9133)
   Feb  2 12:29:07 linux vdr: [9133] buffer usage: 0% (tid=9132)
   Feb  2 12:29:07 linux vdr: [9133] buffer usage: 70% (tid=9132)
   Feb  2 12:29:07 linux vdr: [9133] buffer usage: 80% (tid=9132)
   Feb  2 12:29:07 linux vdr: [9133] buffer usage: 90% (tid=9132)
   Feb  2 12:29:07 linux vdr: [9134] buffer usage: 0% (tid=9133)
   Feb  2 12:29:07 linux vdr: [9132] clearing transfer buffer to avoid overflows
   Feb  2 12:29:07 linux vdr: [9134] buffer usage: 100% (tid=9133)
   Feb  2 12:29:07 linux vdr: [9133] buffer usage: 100% (tid=9132)
   Feb  2 12:29:07 linux vdr: [9133] ERROR: 1 ring buffer overflow (177 bytes 
dropped)
   Feb  2 12:29:07 linux vdr: [9134] buffer usage: 0% (tid=9133)
   Feb  2 12:29:07 linux vdr: [9134] buffer usage: 100% (tid=9133)
   Feb  2 12:29:07 linux vdr: [9134] buffer usage: 0% (tid=9133)
   Feb  2 12:29:07 linux vdr: [9134] buffer usage: 100% (tid=9133)
   Feb  2 12:29:07 linux vdr: [9134] buffer usage: 0% (tid=9133)

   [...]

   Feb  2 12:29:14 linux vdr: [9133] buffer usage: 70% (tid=9132)
   Feb  2 12:29:14 linux vdr: [9133] buffer usage: 80% (tid=9132)
   Feb  2 12:29:14 linux vdr: [9133] buffer usage: 60% (tid=9132)
   Feb  2 12:29:14 linux vdr: [9133] buffer usage: 70% (tid=9132)
   Feb  2 12:29:14 linux vdr: [9134] buffer usage: 0% (tid=9133)
   Feb  2 12:29:14 linux vdr: [9134] buffer usage: 100% (tid=9133)
   Feb  2 12:29:14 linux vdr: [9133] buffer usage: 0% (tid=9132)
   Feb  2 12:29:14 linux vdr: [9133] buffer usage: 70% (tid=9132)
   Feb  2 12:29:14 linux vdr: [9133] buffer usage: 80% (tid=9132)
   Feb  2 12:29:14 linux vdr: [9133] buffer usage: 90% (tid=9132)
   Feb  2 12:29:14 linux vdr: [9134] buffer usage: 0% (tid=9133)
   Feb  2 12:29:14 linux vdr: [9134] buffer usage: 100% (tid=9133)
   Feb  2 12:29:14 linux vdr: [9133] buffer usage: 100% (tid=9132)
   Feb  2 12:29:14 linux vdr: [9133] ERROR: 166595 ring buffer overflows 
(31319794 bytes dropped



_______________________________________________
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr

Reply via email to