Commit 202a87b6 authored by Laurent Aimar's avatar Laurent Aimar

Added BLOCK_TS_INVALID define to check against unset/invalid timestamp.

Its current value is 0 because of historical reasons. Once all the code
has been reviewed and changed to use BLOCK_TS_INVALID, we can then lower it
to INT64_MIN for example.
parent d8064603
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
* - i_flags may not always be set (ie could be 0, even for a key frame * - i_flags may not always be set (ie could be 0, even for a key frame
* it depends where you receive the buffer (before/after a packetizer * it depends where you receive the buffer (before/after a packetizer
* and the demux/packetizer implementations. * and the demux/packetizer implementations.
* - i_dts/i_pts could be 0, it means no pts * - i_dts/i_pts could be BLOCK_TS_INVALID, it means no pts/dts
* - i_length: length in microseond of the packet, can be null except in the * - i_length: length in microseond of the packet, can be null except in the
* sout where it is mandatory. * sout where it is mandatory.
* - i_rate 0 or a valid input rate, look at vlc_input.h * - i_rate 0 or a valid input rate, look at vlc_input.h
...@@ -90,6 +90,10 @@ typedef struct block_sys_t block_sys_t; ...@@ -90,6 +90,10 @@ typedef struct block_sys_t block_sys_t;
#define BLOCK_FLAG_PRIVATE_MASK 0xff000000 #define BLOCK_FLAG_PRIVATE_MASK 0xff000000
#define BLOCK_FLAG_PRIVATE_SHIFT 24 #define BLOCK_FLAG_PRIVATE_SHIFT 24
/* All timestamp below or equal to this define are invalid/unset
* XXX the numerical value is 0 because of historical reason and will change.*/
#define BLOCK_TS_INVALID (0)
typedef void (*block_free_t) (block_t *); typedef void (*block_free_t) (block_t *);
struct block_t struct block_t
......
...@@ -59,7 +59,8 @@ void block_Init( block_t *restrict b, void *buf, size_t size ) ...@@ -59,7 +59,8 @@ void block_Init( block_t *restrict b, void *buf, size_t size )
/* Fill all fields to their default */ /* Fill all fields to their default */
b->p_next = NULL; b->p_next = NULL;
b->i_flags = 0; b->i_flags = 0;
b->i_pts = b->i_dts = b->i_length = 0; b->i_pts = b->i_dts = BLOCK_TS_INVALID;
b->i_length = 0;
b->i_rate = 0; b->i_rate = 0;
b->p_buffer = buf; b->p_buffer = buf;
b->i_buffer = size; b->i_buffer = size;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment