[vlc-devel] commit: Added BLOCK_TS_INVALID define to check against unset/ invalid timestamp. (Laurent Aimar )
git version control
git at videolan.org
Sat Apr 25 16:05:14 CEST 2009
vlc | branch: master | Laurent Aimar <fenrir at videolan.org> | Sat Apr 25 16:00:27 2009 +0200| [202a87b60c22375a5fd9c094bd10f2751e506d7c] | committer: 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.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=202a87b60c22375a5fd9c094bd10f2751e506d7c
---
include/vlc_block.h | 6 +++++-
src/misc/block.c | 3 ++-
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/include/vlc_block.h b/include/vlc_block.h
index 7b1d6d0..37d21ba 100644
--- a/include/vlc_block.h
+++ b/include/vlc_block.h
@@ -37,7 +37,7 @@
* - 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
* 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
* sout where it is mandatory.
* - 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;
#define BLOCK_FLAG_PRIVATE_MASK 0xff000000
#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 *);
struct block_t
diff --git a/src/misc/block.c b/src/misc/block.c
index 001ddf2..c60ce45 100644
--- a/src/misc/block.c
+++ b/src/misc/block.c
@@ -59,7 +59,8 @@ void block_Init( block_t *restrict b, void *buf, size_t size )
/* Fill all fields to their default */
b->p_next = NULL;
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->p_buffer = buf;
b->i_buffer = size;
More information about the vlc-devel
mailing list