examples: handle 0 stride better

Assume the stride is size/height in case someone doesn't set the stride
correctly.
This commit is contained in:
Wim Taymans 2022-12-08 13:38:59 +01:00
parent 83f1de95c0
commit 8db85cf198
5 changed files with 10 additions and 0 deletions

View file

@ -139,6 +139,8 @@ on_process(void *_data, struct spa_io_position *position)
/* copy video image in texture */ /* copy video image in texture */
sstride = buf->datas[0].chunk->stride; sstride = buf->datas[0].chunk->stride;
if (sstride == 0)
sstride = buf->datas[0].chunk->size / data->position->video.size.height;
src = sdata; src = sdata;
dst = ddata; dst = ddata;

View file

@ -257,6 +257,8 @@ on_process(void *_data)
/* copy video image in texture */ /* copy video image in texture */
sstride = buf->datas[0].chunk->stride; sstride = buf->datas[0].chunk->stride;
if (sstride == 0)
sstride = buf->datas[0].chunk->size / data->size.height;
ostride = SPA_MIN(sstride, dstride); ostride = SPA_MIN(sstride, dstride);
src = sdata; src = sdata;

View file

@ -206,6 +206,8 @@ on_process(void *_data)
} }
sstride = buf->datas[0].chunk->stride; sstride = buf->datas[0].chunk->stride;
if (sstride == 0)
sstride = buf->datas[0].chunk->size / data->size.height;
ostride = SPA_MIN(sstride, dstride); ostride = SPA_MIN(sstride, dstride);
src = sdata; src = sdata;

View file

@ -136,6 +136,8 @@ on_process(void *_data)
/* copy video image in texture */ /* copy video image in texture */
sstride = buf->datas[0].chunk->stride; sstride = buf->datas[0].chunk->stride;
if (sstride == 0)
sstride = buf->datas[0].chunk->size / data->size.height;
ostride = SPA_MIN(sstride, dstride); ostride = SPA_MIN(sstride, dstride);
src = sdata; src = sdata;

View file

@ -204,6 +204,8 @@ on_process(void *_data)
} }
sstride = buf->datas[0].chunk->stride; sstride = buf->datas[0].chunk->stride;
if (sstride == 0)
sstride = buf->datas[0].chunk->size / data->size.height;
ostride = SPA_MIN(sstride, dstride); ostride = SPA_MIN(sstride, dstride);
src = sdata; src = sdata;