mirror of
https://github.com/tuxbox-neutrino/libstb-hal.git
synced 2025-08-27 07:23:11 +02:00
libeplayer3: divx fix
This commit is contained in:
@@ -111,8 +111,6 @@ static int writeData(void* _call)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
divx_printf(10, "AudioPts %lld\n", call->Pts);
|
|
||||||
|
|
||||||
if ((call->data == NULL) || (call->len <= 0))
|
if ((call->data == NULL) || (call->len <= 0))
|
||||||
{
|
{
|
||||||
divx_err("parsing NULL Data. ignoring...\n");
|
divx_err("parsing NULL Data. ignoring...\n");
|
||||||
@@ -125,6 +123,8 @@ static int writeData(void* _call)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
divx_printf(10, "AudioPts %lld\n", call->Pts);
|
||||||
|
|
||||||
usecPerFrame = 1000000000 / call->FrameRate;
|
usecPerFrame = 1000000000 / call->FrameRate;
|
||||||
divx_printf(10, "Microsecends per frame = %d\n", usecPerFrame);
|
divx_printf(10, "Microsecends per frame = %d\n", usecPerFrame);
|
||||||
|
|
||||||
@@ -148,20 +148,23 @@ static int writeData(void* _call)
|
|||||||
|
|
||||||
struct iovec iov[4];
|
struct iovec iov[4];
|
||||||
int ic = 0;
|
int ic = 0;
|
||||||
iov[ic].iov_base = PesHeader;
|
iov[ic++].iov_base = PesHeader;
|
||||||
iov[ic++].iov_len = InsertPesHeader (PesHeader, call->len, MPEG_VIDEO_PES_START_CODE, call->Pts, FakeStartCode);
|
|
||||||
iov[ic].iov_base = FakeHeaders;
|
iov[ic].iov_base = FakeHeaders;
|
||||||
iov[ic++].iov_len = FakeHeaderLength;
|
iov[ic++].iov_len = FakeHeaderLength;
|
||||||
|
|
||||||
|
int len = 0;
|
||||||
if (initialHeader) {
|
if (initialHeader) {
|
||||||
|
initialHeader = 0;
|
||||||
iov[ic].iov_base = call->private_data;
|
iov[ic].iov_base = call->private_data;
|
||||||
iov[ic++].iov_len = call->private_size;
|
iov[ic++].iov_len = call->private_size;
|
||||||
initialHeader = 0;
|
len += call->private_size;
|
||||||
}
|
}
|
||||||
iov[ic].iov_base = call->data;
|
iov[ic].iov_base = call->data;
|
||||||
iov[ic++].iov_len = call->len;
|
iov[ic++].iov_len = call->len;
|
||||||
|
len += call->len;
|
||||||
|
iov[0].iov_len = InsertPesHeader (PesHeader, len, MPEG_VIDEO_PES_START_CODE, call->Pts, FakeStartCode);
|
||||||
|
|
||||||
int len = writev(call->fd, iov, ic);
|
len = writev(call->fd, iov, ic);
|
||||||
|
|
||||||
divx_printf(10, "xvid_Write < len=%d\n", len);
|
divx_printf(10, "xvid_Write < len=%d\n", len);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user