Re: [vdr] vdr on an underpowered NAS (D-link DNS 323)

2013-12-25 Thread cedric.dew...@telfort.nl

 
am not sure if softcam is a legal topic on this list, but I would
advise you to take a look at the dvbapi plugin instead of sc. I am not
sure if it will fix your problem, though - but it is a way more stable
and better solution in my opinion.

I had to go softcam to support Conax as well as there were no hardware
CAMs available at the time.


- -- 
Vidar Tyldum
   vi...@tyldum.com   PGP: 0x3110AA98

Hi Vidar,

Could you please send me your configuration files for oscam and 
vdr-plugin-dvbapi? Not to the VDR list, but just to me?
I can't get the connection to work.

Best regards,
Cedric

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


Re: [vdr] vdr 2.1.2 segfaults in libc using vdr --genindex

2013-12-25 Thread Klaus Schmidinger

On 02.12.2013 20:31, Lou wrote:

Am 02.12.2013, 17:59 Uhr, schrieb Klaus Schmidinger klaus.schmidin...@tvdr.de:



I guess this was caused by the changes to videodir.[ch].
For a quick fix you could try moving the line

   cVideoDirectory::SetName(VideoDirectory);

into the

   case 'v': VideoDirectory = optarg;
 while (optarg  *optarg  optarg[strlen(optarg) - 1] == 
'/')
   optarg[strlen(optarg) - 1] = 0;
 cVideoDirectory::SetName(VideoDirectory); // - here!
 break;

in vdr.c


Oh, and use the option '-v'...
This is just a quick hack - I'll need to give this more thought.

Klaus


Thanks Klaus, this fixes things temporarily, but I agree it's annoying to set 
--video as well. Especially since you also have to remember setting --video 
first, THEN call --genindex. If you have it the wrong way around, it will 
segfault again ...


This should do it:

---
--- vdr.c   2013/12/25 11:01:28 3.6
+++ vdr.c   2013/12/25 11:24:26
@@ -223,6 +223,7 @@
   VdrUser = VDR_USER;
 #endif

+  cVideoDirectory::SetName(VideoDirectory);
   cPluginManager PluginManager(DEFAULTPLUGINDIR);

   static struct option long_options[] = {
@@ -443,6 +444,7 @@
   case 'v': VideoDirectory = optarg;
 while (optarg  *optarg  optarg[strlen(optarg) - 1] == 
'/')
   optarg[strlen(optarg) - 1] = 0;
+cVideoDirectory::SetName(VideoDirectory);
 break;
   case 'w': if (isnumber(optarg)) {
int t = atoi(optarg);
@@ -663,7 +665,6 @@

   // Directories:

-  cVideoDirectory::SetName(VideoDirectory);
   if (!ConfigDirectory)
  ConfigDirectory = DEFAULTCONFDIR;
   cPlugin::SetConfigDirectory(ConfigDirectory);
---

I'll need your full name if you want to be listed in the HISTORY/CONTRIBUTORS 
files.

Klaus

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


Re: [vdr] [PATCH] vdr -v ... --edit ignores -v to set videodir

2013-12-25 Thread Klaus Schmidinger

On 16.12.2013 18:11, Marko Mäkelä wrote:

Hi all,

I am not sure if this was reported already, but I encountered this bug when 
trying to edit a recording without setting up VDR:

./vdr -v /tmp/video --edit /tmp/video/Rec_name/2013-08-12.20.58.50.99.rec

Without the attached patch, VDR would try to create /srv/vdr/video, and would 
fail to cut the recording.

With the patch, VDR successfully cut the recording. The source files were in 
PES format, and also the new recording is in PES format. Based on a discussion 
from 2008, this is the expected behaviour. Is there some tool for converting 
old PES recordings to TS format?

 Marko

--- vdr.c2013-10-16 12:46:36.0 +0300
+++ vdr.c2013-12-16 18:47:42.526981566 +0200
@@ -331,6 +331,7 @@ int main(int argc, char *argv[])
  }
  break;
case 'e' | 0x100:
+SetVideoDirectory(VideoDirectory);
  return CutRecording(optarg) ? 0 : 2;
case 'E': EpgDataFileName = (*optarg != '-' ? optarg : NULL);
  break;


I think I'll do it this way:

---
--- vdr.c   2013/12/25 11:01:28 3.6
+++ vdr.c   2013/12/25 11:24:26
@@ -223,6 +223,7 @@
   VdrUser = VDR_USER;
 #endif

+  cVideoDirectory::SetName(VideoDirectory);
   cPluginManager PluginManager(DEFAULTPLUGINDIR);

   static struct option long_options[] = {
@@ -443,6 +444,7 @@
   case 'v': VideoDirectory = optarg;
 while (optarg  *optarg  optarg[strlen(optarg) - 1] == 
'/')
   optarg[strlen(optarg) - 1] = 0;
+cVideoDirectory::SetName(VideoDirectory);
 break;
   case 'w': if (isnumber(optarg)) {
int t = atoi(optarg);
@@ -663,7 +665,6 @@

   // Directories:

-  cVideoDirectory::SetName(VideoDirectory);
   if (!ConfigDirectory)
  ConfigDirectory = DEFAULTCONFDIR;
   cPlugin::SetConfigDirectory(ConfigDirectory);
---

This also fixes a possible segfault with --genindex and takes care of any other
places that would need the video directory name to be properly set in the 
future.

Klaus

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


Re: [vdr] [PATCH] vdr -v ... --edit ignores -v to set videodir

2013-12-25 Thread Marko Mäkelä

On Wed, Dec 25, 2013 at 12:35:19PM +0100, Klaus Schmidinger wrote:

I think I'll do it this way:


Thanks, this looks OK too. I guess that your patch is against the 
development branch. In 2.0.4, the function is SetVideoDirectory() 
instead of cVideoDirectory::SetName().


Marko

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


Re: [vdr] [PATCH] vdr -v ... --edit ignores -v to set videodir

2013-12-25 Thread Klaus Schmidinger

On 25.12.2013 15:03, Marko Mäkelä wrote:

On Wed, Dec 25, 2013 at 12:35:19PM +0100, Klaus Schmidinger wrote:

I think I'll do it this way:


Thanks, this looks OK too. I guess that your patch is against the development 
branch. In 2.0.4, the function is SetVideoDirectory() instead of 
cVideoDirectory::SetName().


Yes, sorry about that.
The patch will be included in version 2.0.5 accordingly.

Klaus

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


[vdr] cSoftDevice::StillPicture() not updating video in VDR 2.0

2013-12-25 Thread Marko Mäkelä
After upgrading to VDR 2.0, I got Softdevice to almost work (see the 
mail archive a couple of months ago). Sometimes it is showing garbage 
(really random noise) on the MGA350 OSD layer; I can live with that, as 
this box is only used for infrequent recordings.


The last annoying problem is that going to the next or previous I-frame 
when editing (buttons 4 and 6 on the remote control) are not updating 
the video screen at all. Only the edit mark is moving on the OSD layer.  
If I press Play, it will start playing from the current edit mark. So, 
it is possible but much more clumsy to cut recordings.


SoftDevice is overriding the method with this:

void cSoftDevice::StillPicture(const uchar *Data, int Length)
{
SOFTDEB(StillPicture...\n);
if (decoder)
  decoder-StillPicture((uchar *)Data,Length);
}

It seems to me that mpeg2decoder.c in softdevice is creating a new 
thread every time I try to move editing mark, and calling 
cMpeg2Decoder::Action(). In gdb, it will fail as follows:


  while(ThreadActive) {
while (freezeMode  ThreadActive)
  usleep(5);

BUFDEB(av_read_frame start\n);

if (useAVReadFrame)
ret = av_read_frame(ic, pkt);
else
ret = av_read_packet(ic, pkt);

if (ret  0) {
BUFDEB(cMpeg2Decoder Stream Error!\n);
if (ThreadActive)
   usleep(1);
continue;
}

useAVReadFrame=true, so it is calling av_read_frame(). That will block 
when running under gdb, like this:


#2  0xb68f83a9 in cSigTimer::Sleep (this=0xb2c121f4, timeoutUS=5, 
lowLimitUS=0) at sync-timer.c:75
#3  0xb68f1cf0 in cMpeg2Decoder::read_packet 
(this=this@entry=0xb2c120f0, buf=buf@entry=0x87fc5b0 
v\253T)\251z\366\020[\231a\202\275\237@\006\266\067k*r\370JV\255\364\020\177\247:\353 
\004\024\277\004jhjG|] t$X, buf_size=buf_size@entry=10864) at 
mpeg2decoder.c:1128
#4  0xb68f1dcf in read_packet_RingBuffer (opaque=0xb2c120f0, 
buf=0x87fc5b0 
v\253T)\251z\366\020[\231a\202\275\237@\006\266\067k*r\370JV\255\364\020\177\247:\353 
\004\024\277\004jhjG|] t$X, buf_size=10864)

   at mpeg2decoder.c:1042
#5  0xb69140c9 in fill_buffer (s=s@entry=0x85ac040)
   at libavformat/aviobuf.c:319
#6  0xb6916ff7 in get_byte (s=0x85ac040) at libavformat/aviobuf.c:365
#7  get_byte (s=s@entry=0x85ac040) at libavformat/aviobuf.c:360
#8  0xb6958984 in find_next_start_code (header_state=0x8a075e0, 
size_ptr=synthetic pointer, pb=0x85ac040) at libavformat/mpeg.c:142
#9  mpegps_read_pes_header (s=s@entry=0x89f2080, 
ppos=ppos@entry=0xb10cc190, pstart_code=pstart_code@entry=0xb10cc160, 
ppts=ppts@entry=0xb10cc170, pdts=pdts@entry=0xb10cc180) at 
libavformat/mpeg.c:246

#10 0xb695933a in mpegps_read_packet (s=0x89f2080, pkt=0xb10cc290)
   at libavformat/mpeg.c:419
#11 0xb690c3b4 in av_read_packet (s=s@entry=0x89f2080, 
pkt=pkt@entry=0xb10cc290) at libavformat/utils.c:591

#12 0xb690ce8b in av_read_frame_internal (s=0x89f2080, pkt=0xb10cc304)
   at libavformat/utils.c:998
#13 0xb68f2527 in cMpeg2Decoder::Action (this=0xb2c120f0)
   at mpeg2decoder.c:1228

It will unblock when I hit 4 or 6 again, because the thread would be 
killed (ThreadActive=false) by this:


#0  cMpeg2Decoder::Stop (this=this@entry=0xb2c120f0, 
GetMutex=GetMutex@entry=false) at mpeg2decoder.c:1545
#1  0xb68f2cec in cMpeg2Decoder::Clear (this=0xb2c120f0) at 
mpeg2decoder.c:1655

#2  0xb68ea1b6 in Clear (this=0x83d3130) at softdevice.c:492
#3  cSoftDevice::Clear (this=0x83d3130) at softdevice.c:484
#4  0x080cf2da in cDvbPlayer::Empty() ()
#5  0x080cf7e9 in cDvbPlayer::Goto(int, bool) ()
#6  0x080d1303 in cDvbPlayerControl::Goto(int, bool) ()
#7  0x080fd676 in cReplayControl::MarkMove(bool) ()
#8  0x080fdcc6 in cReplayControl::ProcessKey(eKeys) ()
#9  0x080aac39 in main ()

I wonder why this worked in VDR 1.6 but no longer in VDR 2.0? Is it 
because Softdevice is expecting a PES packet here instead of TS, or is 
it something else?


Marko

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


Re: [vdr] vdr-plugin-dvbapi, howto connect to oscam?

2013-12-25 Thread Mariusz Bialonczyk
On 12/24/2013 05:30 PM, cedric.dew...@telfort.nl wrote:
 Hi All,
Hello!

 When I stream an encrypted channel into my browser, I see the following 
 errors in /var/log/oscam/oscam.log
 
 2013/12/24 16:14:39  14F4DA8 c ERROR: Can't open device /dev/dvb/adapter0/ca0 
 (errno=2 No such file or directory
This error is when oscam is not configured properly, probably because of the 
spaces/tabs
in the beginning of dvbapi section here:

 [dvbapi]
 enabled = 1
 au = 1
 boxtype = pc
 user = vdr
 pmt_mode = 4
 request_mode = 1

regards,
-- 
Mariusz Białończyk | xmpp/e-mail: ma...@skyboo.net
http://manio.skyboo.net | https://github.com/manio

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


Re: [vdr] cSoftDevice::StillPicture() not updating video in VDR 2.0

2013-12-25 Thread VDR User
If you haven't done so already, please bring this to Johns (author of
softhddevice) at the vdrportal forum.


Thanks

On Wed, Dec 25, 2013 at 6:50 AM, Marko Mäkelä marko.mak...@iki.fi wrote:
 After upgrading to VDR 2.0, I got Softdevice to almost work (see the mail
 archive a couple of months ago). Sometimes it is showing garbage (really
 random noise) on the MGA350 OSD layer; I can live with that, as this box is
 only used for infrequent recordings.

 The last annoying problem is that going to the next or previous I-frame when
 editing (buttons 4 and 6 on the remote control) are not updating the video
 screen at all. Only the edit mark is moving on the OSD layer.  If I press
 Play, it will start playing from the current edit mark. So, it is possible
 but much more clumsy to cut recordings.

 SoftDevice is overriding the method with this:

 void cSoftDevice::StillPicture(const uchar *Data, int Length)
 {
 SOFTDEB(StillPicture...\n);
 if (decoder)
   decoder-StillPicture((uchar *)Data,Length);
 }

 It seems to me that mpeg2decoder.c in softdevice is creating a new thread
 every time I try to move editing mark, and calling cMpeg2Decoder::Action().
 In gdb, it will fail as follows:

   while(ThreadActive) {
 while (freezeMode  ThreadActive)
   usleep(5);

 BUFDEB(av_read_frame start\n);

 if (useAVReadFrame)
 ret = av_read_frame(ic, pkt);
 else
 ret = av_read_packet(ic, pkt);

 if (ret  0) {
 BUFDEB(cMpeg2Decoder Stream Error!\n);
 if (ThreadActive)
usleep(1);
 continue;
 }

 useAVReadFrame=true, so it is calling av_read_frame(). That will block when
 running under gdb, like this:

 #2  0xb68f83a9 in cSigTimer::Sleep (this=0xb2c121f4, timeoutUS=5,
 lowLimitUS=0) at sync-timer.c:75
 #3  0xb68f1cf0 in cMpeg2Decoder::read_packet (this=this@entry=0xb2c120f0,
 buf=buf@entry=0x87fc5b0
 v\253T)\251z\366\020[\231a\202\275\237@\006\266\067k*r\370JV\255\364\020\177\247:\353
 \004\024\277\004jhjG|] t$X, buf_size=buf_size@entry=10864) at
 mpeg2decoder.c:1128
 #4  0xb68f1dcf in read_packet_RingBuffer (opaque=0xb2c120f0, buf=0x87fc5b0
 v\253T)\251z\366\020[\231a\202\275\237@\006\266\067k*r\370JV\255\364\020\177\247:\353
 \004\024\277\004jhjG|] t$X, buf_size=10864)
at mpeg2decoder.c:1042
 #5  0xb69140c9 in fill_buffer (s=s@entry=0x85ac040)
at libavformat/aviobuf.c:319
 #6  0xb6916ff7 in get_byte (s=0x85ac040) at libavformat/aviobuf.c:365
 #7  get_byte (s=s@entry=0x85ac040) at libavformat/aviobuf.c:360
 #8  0xb6958984 in find_next_start_code (header_state=0x8a075e0,
 size_ptr=synthetic pointer, pb=0x85ac040) at libavformat/mpeg.c:142
 #9  mpegps_read_pes_header (s=s@entry=0x89f2080, ppos=ppos@entry=0xb10cc190,
 pstart_code=pstart_code@entry=0xb10cc160, ppts=ppts@entry=0xb10cc170,
 pdts=pdts@entry=0xb10cc180) at libavformat/mpeg.c:246
 #10 0xb695933a in mpegps_read_packet (s=0x89f2080, pkt=0xb10cc290)
at libavformat/mpeg.c:419
 #11 0xb690c3b4 in av_read_packet (s=s@entry=0x89f2080,
 pkt=pkt@entry=0xb10cc290) at libavformat/utils.c:591
 #12 0xb690ce8b in av_read_frame_internal (s=0x89f2080, pkt=0xb10cc304)
at libavformat/utils.c:998
 #13 0xb68f2527 in cMpeg2Decoder::Action (this=0xb2c120f0)
at mpeg2decoder.c:1228

 It will unblock when I hit 4 or 6 again, because the thread would be killed
 (ThreadActive=false) by this:

 #0  cMpeg2Decoder::Stop (this=this@entry=0xb2c120f0,
 GetMutex=GetMutex@entry=false) at mpeg2decoder.c:1545
 #1  0xb68f2cec in cMpeg2Decoder::Clear (this=0xb2c120f0) at
 mpeg2decoder.c:1655
 #2  0xb68ea1b6 in Clear (this=0x83d3130) at softdevice.c:492
 #3  cSoftDevice::Clear (this=0x83d3130) at softdevice.c:484
 #4  0x080cf2da in cDvbPlayer::Empty() ()
 #5  0x080cf7e9 in cDvbPlayer::Goto(int, bool) ()
 #6  0x080d1303 in cDvbPlayerControl::Goto(int, bool) ()
 #7  0x080fd676 in cReplayControl::MarkMove(bool) ()
 #8  0x080fdcc6 in cReplayControl::ProcessKey(eKeys) ()
 #9  0x080aac39 in main ()

 I wonder why this worked in VDR 1.6 but no longer in VDR 2.0? Is it because
 Softdevice is expecting a PES packet here instead of TS, or is it something
 else?

 Marko

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

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


Re: [vdr] cSoftDevice::StillPicture() not updating video in VDR 2.0

2013-12-25 Thread Marko Mäkelä

On Wed, Dec 25, 2013 at 12:23:23PM -0800, VDR User wrote:
If you haven't done so already, please bring this to Johns (author of 
softhddevice) at the vdrportal forum.


I did not yet, because softdevice has little to do with softhddevice.  
But thanks for the hint, I think I should set up vdr, softhddevice and 
some dummy tuner plugin on a more modern system, so that I can compare 
what is different. (I will stick to softdevice+DirectFB on the low-end 
system that is equipped with a budget tuner card.)


Marko

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


Re: [vdr] cSoftDevice::StillPicture() not updating video in VDR 2.0

2013-12-25 Thread VDR User
Oops! I misread softdevice as softhddevice. Sorry for the confusion there.

On Wed, Dec 25, 2013 at 1:17 PM, Marko Mäkelä marko.mak...@iki.fi wrote:
 On Wed, Dec 25, 2013 at 12:23:23PM -0800, VDR User wrote:

 If you haven't done so already, please bring this to Johns (author of
 softhddevice) at the vdrportal forum.


 I did not yet, because softdevice has little to do with softhddevice.  But
 thanks for the hint, I think I should set up vdr, softhddevice and some
 dummy tuner plugin on a more modern system, so that I can compare what is
 different. (I will stick to softdevice+DirectFB on the low-end system that
 is equipped with a budget tuner card.)


 Marko

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

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