Hi,
Thanks Klaus
Klaus I agree, but the video looks good because I can see this live stream and when I use the patch records are correct.
I did a test with vdr 1.6.0 with the same channels.conf and there I can see the live stream and recordings works.
Why ?
Senufo
On 05.05.2010 22:11, Senufo wrote:
> Hi,
>
> I found the problem. VDR does not detect the frame independent in this
> stream because in the function :
>
> cFrameDetector:: Analyze (const uchar * Data, int Length)
>
> in the file remux.c.
>
> ((Data [i +2]>> 3) & 0x07) is equal to 0 instead of 1 for stream that work.
>
> I applied this patch :
>
> --- remux.c 2010-05-04 14:55:50.000000000 +0200
> +++ remux.c.orig 2010-05-04 21:57:38.000000000 +0200
> @@ -960,6 +960,7 @@
> return Processed; // flush everything before this new frame
> newFrame = true;
> independentFrame = ((Data[i + 2] >> 3) & 0x07) == 1; // I-Frame
> + if (((Data[i + 2] >> 3) & 0x07) == 0) { independentFrame = 1;}
> if (synced) {
> if (framesPerPayloadUnit <= 1)
> scanning = false;
>
> and record is working again.
> I do not know what has changed in the stream.
>
> I tested this patch since yesterday and so far I have not had any problems.
>
> What do you think?
If this stream marks independent frames with '0' instead if '1',
I would say it is broken.
Klaus
_______________________________________________
vdr mailing list
vdr@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr