Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] vdr-1.1.12 TransferMode strangeness



Hi Klaus, Hi List,

I just discoverd something strange with at least 1.1.12 and 
DVB_DRIVER_VERSION set to 2002090101. Have a look at the following log 
snippet and keep in mind that i have only one card:

Oct 10 14:56:08 apophis vdr[2482]: switching to channel 3
Oct 10 14:56:19 apophis vdr[2482]: timer 1 added
Oct 10 14:56:23 apophis vdr[2486]: transfer thread started (pid=2486)
Oct 10 14:56:23 apophis vdr[2487]: receiver thread started on device 1 
(pid=2487)
Oct 10 14:56:23 apophis vdr[2482]: timer 1 start
Oct 10 14:56:23 apophis vdr[2482]: Title: 'Arabella' Subtitle: 'Arabella 
testet Deine Liebe!'
Oct 10 14:56:23 apophis vdr[2482]: record 
/video1/Arabella/2002-10-10.13:57.50.50.rec
Oct 10 14:56:24 apophis vdr[2482]: recording to 
'/video1/Arabella/2002-10-10.13:57.50.50.rec/004.vdr'
Oct 10 14:56:24 apophis vdr[2489]: recording thread started (pid=2489)
Oct 10 14:56:27 apophis kernel: buffer empty
Oct 10 14:56:29 apophis kernel: buffer empty
Oct 10 14:56:31 apophis vdr[2482]: timer 1 deactivated
Oct 10 14:56:33 apophis vdr[2489]: recording thread ended (pid=2489)
Oct 10 14:56:33 apophis vdr[2482]: buffer stats: 24252 (0%) used
Oct 10 14:56:33 apophis vdr[2482]: timer 1 stop

Now you can see that 3 threads are beeing started, a receiver, a 
recorder and a transfer thread. I have then manualy removed the timer 
which correctly stoped the recorder thread. The receiver and the 
transfer thread however remain. The receiver thread can not be stopped 
since the transfer thread keeps running.
The question is now why is the transfer thread not beeing beeing stopped 
and why is it beeing started in the first place. Isn't transfermode only 
needed when multiple cards are present?

I have added a bit debug output to dvbdevice.c to determin what going 
on, but i'm not sure i understand the logic there completly:

   fprintf(stderr, "TransferMode: %d, %d, %d, %d - %d, %d",
                   IsPrimaryDevice(), DoTune, LiveView,
                   HasPid(Channel->Vpid()),
                   pidHandles[ptVideo].pid, Channel->Vpid());

   bool StartTransferMode = IsPrimaryDevice() ........

   fprintf(stderr, " = %d\n", StartTransferMode);

Here is the output:

TransferMode: 1, 0, 0, 1 - 255, 255 = 1

Hope that information helps  ....

Andreas



-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe vdr" as subject.



Home | Main Index | Thread Index