From cd403b4330aace187ac710d4ca21337110fda3cd Mon Sep 17 00:00:00 2001 From: phintuka Date: Wed, 30 Jul 2008 14:43:16 +0000 Subject: Fixed H.264 ES -> PES conversion (MPEG2 end of sequence --> H.264 NAL end of sequence) --- frontend.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/frontend.c b/frontend.c index 51133266..6166e965 100644 --- a/frontend.c +++ b/frontend.c @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: frontend.c,v 1.59 2008-04-14 19:58:54 phintuka Exp $ + * $Id: frontend.c,v 1.60 2008-07-30 14:43:16 phintuka Exp $ * */ @@ -35,6 +35,7 @@ #include "device.h" #include "tools/pes.h" +#include "tools/h264.h" #include "tools/general_remote.h" #include "tools/iso639.h" @@ -541,7 +542,7 @@ bool cXinelibThread::Play_Mpeg2_ES(const uchar *data, int len, int streamID) int todo = len, done = 0, hdrlen = 9/*sizeof(hdr)*/; uchar *frame = new uchar[PES_CHUNK_SIZE+32]; cPoller p; - + bool h264 = IS_NAL_AUD(data); hdr_pts[3] = (uchar)streamID; Poll(p, 100); @@ -572,6 +573,7 @@ bool cXinelibThread::Play_Mpeg2_ES(const uchar *data, int len, int streamID) // append sequence end code to video if((streamID & 0xF0) == 0xE0) { seq_end[3] = (uchar)streamID; + seq_end[12] = h264 ? NAL_END_SEQ : 0xB7; Poll(p, 100); Play_PES(seq_end, sizeof(seq_end)); } -- cgit v1.2.3