tail_chunk() returns ob_chunk pointer
Code simplification: since we are not using in-band signalling with the chunk index anymore, we can just return a pointer to the tail chunk instead of the index.
This commit is contained in:
parent
5df6ff8d22
commit
ea51f73285
@ -150,10 +150,10 @@ ob_chunk * ob_get_chunk(const unsigned i)
|
|||||||
/**
|
/**
|
||||||
* Return the tail chunk which has room for additional data.
|
* Return the tail chunk which has room for additional data.
|
||||||
*
|
*
|
||||||
* @return the positive index of the new chunk; -1 if there is no
|
* @return the chunk which has room for more data; NULL if there is no
|
||||||
* room.
|
* room.
|
||||||
*/
|
*/
|
||||||
static int tailChunk(float data_time, mpd_uint16 bitRate)
|
static ob_chunk *tail_chunk(float data_time, mpd_uint16 bitRate)
|
||||||
{
|
{
|
||||||
unsigned int next;
|
unsigned int next;
|
||||||
ob_chunk *chunk;
|
ob_chunk *chunk;
|
||||||
@ -165,7 +165,7 @@ static int tailChunk(float data_time, mpd_uint16 bitRate)
|
|||||||
next = successor(ob.end);
|
next = successor(ob.end);
|
||||||
if (ob.begin == next)
|
if (ob.begin == next)
|
||||||
/* no chunks available */
|
/* no chunks available */
|
||||||
return -1;
|
return NULL;
|
||||||
|
|
||||||
output_buffer_expand(next);
|
output_buffer_expand(next);
|
||||||
chunk = ob_get_chunk(next);
|
chunk = ob_get_chunk(next);
|
||||||
@ -180,7 +180,7 @@ static int tailChunk(float data_time, mpd_uint16 bitRate)
|
|||||||
chunk->times = data_time;
|
chunk->times = data_time;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ob.end;
|
return chunk;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t ob_append(const void *data0, size_t datalen,
|
size_t ob_append(const void *data0, size_t datalen,
|
||||||
@ -191,12 +191,10 @@ size_t ob_append(const void *data0, size_t datalen,
|
|||||||
ob_chunk *chunk = NULL;
|
ob_chunk *chunk = NULL;
|
||||||
|
|
||||||
while (datalen) {
|
while (datalen) {
|
||||||
int chunk_index = tailChunk(data_time, bitRate);
|
chunk = tail_chunk(data_time, bitRate);
|
||||||
if (chunk_index < 0)
|
if (chunk == NULL)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
chunk = ob_get_chunk(chunk_index);
|
|
||||||
|
|
||||||
dataToSend = sizeof(chunk->data) - chunk->chunkSize;
|
dataToSend = sizeof(chunk->data) - chunk->chunkSize;
|
||||||
if (dataToSend > datalen)
|
if (dataToSend > datalen)
|
||||||
dataToSend = datalen;
|
dataToSend = datalen;
|
||||||
|
Loading…
Reference in New Issue
Block a user