Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'libav/aviobuf.c')
-rw-r--r--libav/aviobuf.c39
1 files changed, 38 insertions, 1 deletions
diff --git a/libav/aviobuf.c b/libav/aviobuf.c
index 6c23088d91..3f0108361b 100644
--- a/libav/aviobuf.c
+++ b/libav/aviobuf.c
@@ -68,7 +68,7 @@ void put_byte(ByteIOContext *s, int b)
flush_buffer(s);
}
-void put_buffer(ByteIOContext *s, unsigned char *buf, int size)
+void put_buffer(ByteIOContext *s, const unsigned char *buf, int size)
{
int len;
@@ -176,6 +176,19 @@ void put_be32(ByteIOContext *s, unsigned int val)
put_byte(s, val);
}
+void put_native_double(ByteIOContext *s, double val)
+{
+ put_buffer(s, (const unsigned char *) &val, sizeof(val));
+}
+
+void put_native_string(ByteIOContext *s, const char *str)
+{
+ if (str)
+ put_buffer(s, (const unsigned char *) str, strlen(str) + 1);
+ else
+ put_byte(s, 0);
+}
+
void put_le64(ByteIOContext *s, UINT64 val)
{
put_le32(s, (UINT32)(val & 0xffffffff));
@@ -326,6 +339,30 @@ unsigned int get_be32(ByteIOContext *s)
return val;
}
+double get_native_double(ByteIOContext *s)
+{
+ double val;
+
+ get_buffer(s, (unsigned char *) &val, sizeof(val));
+
+ return val;
+}
+
+char *get_native_string(ByteIOContext *s, char *buf, int maxlen)
+{
+ int i = 0;
+ char c;
+
+ while ((c = get_byte(s))) {
+ if (i < maxlen-1)
+ buf[i++] = c;
+ }
+
+ buf[i] = 0; /* Ensure null terminated, but may be truncated */
+
+ return buf;
+}
+
UINT64 get_be64(ByteIOContext *s)
{
UINT64 val;