Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
gstreamer
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
luzpaz
gstreamer
Commits
1af328e7
Commit
1af328e7
authored
Mar 22, 2011
by
Wim Taymans
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
memory: more work on porting the unit tests
parent
4a9a59df
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
162 additions
and
108 deletions
+162
-108
gst/gst.c
gst/gst.c
+1
-0
gst/gstbuffer.c
gst/gstbuffer.c
+19
-12
gst/gstbuffer.h
gst/gstbuffer.h
+0
-3
gst/gstmemory.c
gst/gstmemory.c
+12
-11
gst/gstmemory.h
gst/gstmemory.h
+14
-10
tests/check/gst/gstbuffer.c
tests/check/gst/gstbuffer.c
+3
-1
tests/check/libs/adapter.c
tests/check/libs/adapter.c
+69
-37
tests/check/libs/bitreader.c
tests/check/libs/bitreader.c
+9
-4
tests/check/libs/bytereader.c
tests/check/libs/bytereader.c
+9
-4
tests/check/libs/test_transform.c
tests/check/libs/test_transform.c
+2
-2
tests/check/libs/transform1.c
tests/check/libs/transform1.c
+24
-24
No files found.
gst/gst.c
View file @
1af328e7
...
...
@@ -665,6 +665,7 @@ init_post (GOptionContext * context, GOptionGroup * group, gpointer data,
g_log_set_handler
(
g_log_domain_gstreamer
,
llf
,
debug_log_handler
,
NULL
);
_priv_gst_quarks_initialize
();
_gst_memory_init
();
_gst_format_initialize
();
_gst_query_initialize
();
_gst_caps_initialize
();
...
...
gst/gstbuffer.c
View file @
1af328e7
...
...
@@ -239,16 +239,23 @@ gst_buffer_copy_into (GstBuffer * dest, GstBuffer * src,
len
=
sarr
->
len
;
if
(
flags
&
GST_BUFFER_COPY_MEMORY_SHARE
)
{
for
(
i
=
0
;
i
<
len
;
i
++
)
{
GstMemory
*
mem
=
g_ptr_array_index
(
sarr
,
i
);
g_ptr_array_add
(
darr
,
gst_memory_ref
(
mem
));
}
}
else
{
for
(
i
=
0
;
i
<
len
;
i
++
)
{
GstMemory
*
mem
=
g_ptr_array_index
(
sarr
,
i
);
g_ptr_array_add
(
darr
,
gst_memory_copy
(
mem
));
}
for
(
i
=
0
;
i
<
len
;
i
++
)
{
GstMemory
*
mem
,
*
dmem
;
gsize
size
;
mem
=
g_ptr_array_index
(
sarr
,
i
);
if
(
i
+
1
==
len
)
{
/* last chunk */
size
=
gst_memory_get_sizes
(
mem
,
NULL
);
dmem
=
gst_memory_sub
(
mem
,
offset
,
size
-
offset
-
trim
);
}
else
if
(
offset
)
{
size
=
gst_memory_get_sizes
(
mem
,
NULL
);
dmem
=
gst_memory_sub
(
mem
,
offset
,
size
-
offset
);
offset
=
0
;
}
else
dmem
=
gst_memory_ref
(
mem
);
g_ptr_array_add
(
darr
,
dmem
);
}
}
...
...
@@ -654,7 +661,7 @@ gst_buffer_make_metadata_writable (GstBuffer * buf)
ret
=
gst_buffer_new
();
/* we simply copy everything from our parent */
gst_buffer_copy_into
(
ret
,
buf
,
GST_BUFFER_
SHARE
_ALL
,
0
,
0
);
gst_buffer_copy_into
(
ret
,
buf
,
GST_BUFFER_
COPY
_ALL
,
0
,
0
);
gst_buffer_unref
(
buf
);
}
return
ret
;
...
...
@@ -698,7 +705,7 @@ gst_buffer_create_sub (GstBuffer * buffer, gsize offset, gsize size)
GST_CAT_LOG
(
GST_CAT_BUFFER
,
"new subbuffer %p of %p"
,
subbuffer
,
buffer
);
gst_buffer_copy_into
(
subbuffer
,
buffer
,
GST_BUFFER_
SHARE
_ALL
,
offset
,
gst_buffer_copy_into
(
subbuffer
,
buffer
,
GST_BUFFER_
COPY
_ALL
,
offset
,
bufsize
-
(
size
+
offset
));
return
subbuffer
;
...
...
gst/gstbuffer.h
View file @
1af328e7
...
...
@@ -414,7 +414,6 @@ typedef enum {
GST_BUFFER_COPY_CAPS
=
(
1
<<
2
),
GST_BUFFER_COPY_MEMORY
=
(
1
<<
3
),
GST_BUFFER_COPY_MEMORY_MERGE
=
(
1
<<
4
),
GST_BUFFER_COPY_MEMORY_SHARE
=
(
1
<<
5
),
}
GstBufferCopyFlags
;
#define GST_BUFFER_COPY_METADATA (GST_BUFFER_COPY_FLAGS | GST_BUFFER_COPY_TIMESTAMPS | GST_BUFFER_COPY_CAPS)
...
...
@@ -429,8 +428,6 @@ typedef enum {
*/
#define GST_BUFFER_COPY_ALL (GST_BUFFER_COPY_METADATA | GST_BUFFER_COPY_MEMORY)
#define GST_BUFFER_SHARE_ALL (GST_BUFFER_COPY_METADATA | GST_BUFFER_COPY_MEMORY | GST_BUFFER_COPY_MEMORY_SHARE)
/* copies memory or metadata into newly allocated buffer */
void
gst_buffer_copy_into
(
GstBuffer
*
dest
,
GstBuffer
*
src
,
GstBufferCopyFlags
flags
,
...
...
gst/gstmemory.c
View file @
1af328e7
...
...
@@ -184,12 +184,12 @@ _default_mem_free (GstMemoryDefault * mem)
}
static
GstMemoryDefault
*
_default_mem_copy
(
GstMemoryDefault
*
mem
)
_default_mem_copy
(
GstMemoryDefault
*
mem
,
gsize
offset
,
gsize
size
)
{
GstMemoryDefault
*
copy
;
copy
=
_default_mem_new_block
(
mem
->
maxsize
,
0
,
mem
->
offset
,
mem
->
size
);
memcpy
(
copy
->
data
+
copy
->
offset
,
mem
->
data
,
mem
->
maxsize
);
copy
=
_default_mem_new_block
(
mem
->
maxsize
,
0
,
mem
->
offset
+
offset
,
size
);
memcpy
(
copy
->
data
,
mem
->
data
,
mem
->
maxsize
);
return
copy
;
}
...
...
@@ -242,16 +242,16 @@ _fallback_extract (GstMemory * mem, gsize offset, gpointer dest, gsize size)
}
static
GstMemory
*
_fallback_copy
(
GstMemory
*
mem
)
_fallback_copy
(
GstMemory
*
mem
,
gsize
offset
,
gsize
size
)
{
GstMemoryDefault
*
copy
;
g
pointer
data
;
gsize
size
;
g
uint8
*
data
;
gsize
m
size
;
data
=
gst_memory_map
(
mem
,
&
size
,
NULL
,
GST_MAP_READ
);
data
=
gst_memory_map
(
mem
,
&
m
size
,
NULL
,
GST_MAP_READ
);
copy
=
_default_mem_new_block
(
size
,
0
,
0
,
size
);
memcpy
(
copy
->
data
,
data
,
size
);
gst_memory_unmap
(
mem
,
data
,
size
);
memcpy
(
copy
->
data
,
data
+
offset
,
size
);
gst_memory_unmap
(
mem
,
data
,
m
size
);
return
(
GstMemory
*
)
copy
;
}
...
...
@@ -356,6 +356,7 @@ void
gst_memory_unref
(
GstMemory
*
mem
)
{
g_return_if_fail
(
mem
!=
NULL
);
g_return_if_fail
(
mem
->
impl
!=
NULL
);
if
(
g_atomic_int_dec_and_test
(
&
mem
->
refcount
))
mem
->
impl
->
info
.
free
(
mem
);
...
...
@@ -387,11 +388,11 @@ gst_memory_unmap (GstMemory * mem, gpointer data, gsize size)
}
GstMemory
*
gst_memory_copy
(
GstMemory
*
mem
)
gst_memory_copy
(
GstMemory
*
mem
,
gsize
offset
,
gsize
size
)
{
g_return_val_if_fail
(
mem
!=
NULL
,
NULL
);
return
mem
->
impl
->
info
.
copy
(
mem
);
return
mem
->
impl
->
info
.
copy
(
mem
,
offset
,
size
);
}
void
...
...
gst/gstmemory.h
View file @
1af328e7
...
...
@@ -74,7 +74,7 @@ typedef gpointer (*GstMemoryMapFunction) (GstMemory *mem, gsize *size, gsize
typedef
gboolean
(
*
GstMemoryUnmapFunction
)
(
GstMemory
*
mem
,
gpointer
data
,
gsize
size
);
typedef
void
(
*
GstMemoryFreeFunction
)
(
GstMemory
*
mem
);
typedef
GstMemory
*
(
*
GstMemoryCopyFunction
)
(
GstMemory
*
mem
);
typedef
GstMemory
*
(
*
GstMemoryCopyFunction
)
(
GstMemory
*
mem
,
gsize
offset
,
gsize
size
);
typedef
void
(
*
GstMemoryExtractFunction
)
(
GstMemory
*
mem
,
gsize
offset
,
gpointer
dest
,
gsize
size
);
typedef
void
(
*
GstMemoryTrimFunction
)
(
GstMemory
*
mem
,
gsize
offset
,
gsize
size
);
...
...
@@ -103,21 +103,32 @@ struct _GstMemoryInfo {
void
_gst_memory_init
(
void
);
/* allocating memory blocks */
GstMemory
*
gst_memory_new_wrapped
(
gpointer
data
,
GFreeFunc
free_func
,
gsize
maxsize
,
gsize
offset
,
gsize
size
);
GstMemory
*
gst_memory_new_alloc
(
gsize
maxsize
,
gsize
align
);
GstMemory
*
gst_memory_new_copy
(
gsize
maxsize
,
gsize
align
,
gpointer
data
,
gsize
offset
,
gsize
size
);
/* refcounting */
GstMemory
*
gst_memory_ref
(
GstMemory
*
mem
);
void
gst_memory_unref
(
GstMemory
*
mem
);
/* getting/setting memory properties */
gsize
gst_memory_get_sizes
(
GstMemory
*
mem
,
gsize
*
maxsize
);
void
gst_memory_trim
(
GstMemory
*
mem
,
gsize
offset
,
gsize
size
);
/* retriveing data */
gpointer
gst_memory_map
(
GstMemory
*
mem
,
gsize
*
size
,
gsize
*
maxsize
,
GstMapFlags
flags
);
gboolean
gst_memory_unmap
(
GstMemory
*
mem
,
gpointer
data
,
gsize
size
);
GstMemory
*
gst_memory_copy
(
GstMemory
*
mem
);
void
gst_memory_extract
(
GstMemory
*
mem
,
gsize
offset
,
gpointer
dest
,
gsize
size
);
/* copy and subregions */
GstMemory
*
gst_memory_copy
(
GstMemory
*
mem
,
gsize
offset
,
gsize
size
);
GstMemory
*
gst_memory_sub
(
GstMemory
*
mem
,
gsize
offset
,
gsize
size
);
/* memory arrays */
gboolean
gst_memory_is_span
(
GstMemory
**
mem1
,
gsize
len1
,
GstMemory
**
mem2
,
gsize
len2
,
GstMemory
**
parent
,
gsize
*
offset
);
...
...
@@ -125,13 +136,6 @@ GstMemory * gst_memory_span (GstMemory **mem1, gsize len1, gsize offset,
GstMemory
**
mem2
,
gsize
len2
,
gsize
size
);
GstMemory
*
gst_memory_new_wrapped
(
gpointer
data
,
GFreeFunc
free_func
,
gsize
maxsize
,
gsize
offset
,
gsize
size
);
GstMemory
*
gst_memory_new_alloc
(
gsize
maxsize
,
gsize
align
);
GstMemory
*
gst_memory_new_copy
(
gsize
maxsize
,
gsize
align
,
gpointer
data
,
gsize
offset
,
gsize
size
);
const
GstMemoryImpl
*
gst_memory_register
(
const
gchar
*
impl
,
const
GstMemoryInfo
*
info
);
#if 0
...
...
tests/check/gst/gstbuffer.c
View file @
1af328e7
...
...
@@ -87,9 +87,11 @@ GST_START_TEST (test_subbuffer)
/* check sizes, buffer starts out empty */
data
=
gst_buffer_map
(
buffer
,
&
size
,
&
maxsize
,
GST_MAP_WRITE
);
fail_unless
(
size
==
0
,
"buffer has wrong size"
);
fail_unless
(
maxsize
=
=
4
,
"buffer has wrong size"
);
fail_unless
(
maxsize
>
=
4
,
"buffer has wrong size"
);
memset
(
data
,
0
,
4
);
gst_buffer_unmap
(
buffer
,
data
,
4
);
data
=
gst_buffer_map
(
buffer
,
&
size
,
NULL
,
GST_MAP_READ
);
/* set some metadata */
GST_BUFFER_TIMESTAMP
(
buffer
)
=
1
;
GST_BUFFER_DURATION
(
buffer
)
=
2
;
...
...
tests/check/libs/adapter.c
View file @
1af328e7
...
...
@@ -43,7 +43,8 @@ GST_START_TEST (test_peek1)
/* push single buffer in adapter */
buffer
=
gst_buffer_new_and_alloc
(
512
);
bufdata
=
GST_BUFFER_DATA
(
buffer
);
bufdata
=
gst_buffer_map
(
buffer
,
NULL
,
NULL
,
GST_MAP_READ
);
fail_if
(
buffer
==
NULL
);
gst_adapter_push
(
adapter
,
buffer
);
...
...
@@ -56,22 +57,25 @@ GST_START_TEST (test_peek1)
fail_if
(
avail
!=
512
);
/* should g_critical with NULL as result */
ASSERT_CRITICAL
(
data1
=
gst_adapter_
peek
(
adapter
,
0
));
ASSERT_CRITICAL
(
data1
=
gst_adapter_
map
(
adapter
,
0
));
fail_if
(
data1
!=
NULL
);
/* should return NULL as result */
data1
=
gst_adapter_
peek
(
adapter
,
513
);
data1
=
gst_adapter_
map
(
adapter
,
513
);
fail_if
(
data1
!=
NULL
);
/* this should work */
data1
=
gst_adapter_
peek
(
adapter
,
512
);
data1
=
gst_adapter_
map
(
adapter
,
512
);
fail_if
(
data1
==
NULL
);
/* it should point to the buffer data as well */
fail_if
(
data1
!=
bufdata
);
data2
=
gst_adapter_peek
(
adapter
,
512
);
gst_adapter_unmap
(
adapter
,
0
);
data2
=
gst_adapter_map
(
adapter
,
512
);
fail_if
(
data2
==
NULL
);
/* second peek should return the same pointer */
fail_if
(
data2
!=
data1
);
gst_adapter_unmap
(
adapter
,
0
);
/* this should fail since we don't have that many bytes */
ASSERT_CRITICAL
(
gst_adapter_flush
(
adapter
,
513
));
...
...
@@ -86,15 +90,16 @@ GST_START_TEST (test_peek1)
fail_if
(
avail
!=
502
);
/* should return NULL as result */
data2
=
gst_adapter_
peek
(
adapter
,
503
);
data2
=
gst_adapter_
map
(
adapter
,
503
);
fail_if
(
data2
!=
NULL
);
/* should work fine */
data2
=
gst_adapter_
peek
(
adapter
,
502
);
data2
=
gst_adapter_
map
(
adapter
,
502
);
fail_if
(
data2
==
NULL
);
/* peek should return the same old pointer + 10 */
fail_if
(
data2
!=
data1
+
10
);
fail_if
(
data2
!=
bufdata
+
10
);
gst_adapter_unmap
(
adapter
,
0
);
/* flush some more */
gst_adapter_flush
(
adapter
,
500
);
...
...
@@ -105,10 +110,11 @@ GST_START_TEST (test_peek1)
avail
=
gst_adapter_available_fast
(
adapter
);
fail_if
(
avail
!=
2
);
data2
=
gst_adapter_
peek
(
adapter
,
2
);
data2
=
gst_adapter_
map
(
adapter
,
2
);
fail_if
(
data2
==
NULL
);
fail_if
(
data2
!=
data1
+
510
);
fail_if
(
data2
!=
bufdata
+
510
);
gst_adapter_unmap
(
adapter
,
0
);
/* flush some more */
gst_adapter_flush
(
adapter
,
2
);
...
...
@@ -119,6 +125,8 @@ GST_START_TEST (test_peek1)
avail
=
gst_adapter_available_fast
(
adapter
);
fail_if
(
avail
!=
0
);
gst_buffer_unmap
(
buffer
,
(
gpointer
)
bufdata
,
0
);
/* silly clear just for fun */
gst_adapter_clear
(
adapter
);
...
...
@@ -153,16 +161,16 @@ GST_START_TEST (test_take1)
GstBuffer
*
buffer
,
*
buffer2
;
guint
avail
;
guint8
*
data
,
*
data2
;
gsize
size
,
size2
;
adapter
=
gst_adapter_new
();
fail_unless
(
adapter
!=
NULL
);
buffer
=
gst_buffer_new_and_alloc
(
100
);
fail_unless
(
buffer
!=
NULL
);
fail_unless
(
GST_BUFFER_DATA
(
buffer
)
!=
NULL
);
fail_unless
(
GST_BUFFER_SIZE
(
buffer
)
==
100
);
data
=
GST_BUFFER_DATA
(
buffer
);
data
=
gst_buffer_map
(
buffer
,
&
size
,
NULL
,
GST_MAP_READ
);
fail_unless
(
data
!=
NULL
);
fail_unless
(
size
==
100
);
/* push in the adapter */
gst_adapter_push
(
adapter
,
buffer
);
...
...
@@ -173,9 +181,10 @@ GST_START_TEST (test_take1)
/* take out buffer */
buffer2
=
gst_adapter_take_buffer
(
adapter
,
100
);
fail_unless
(
buffer2
!=
NULL
);
fail_unless
(
GST_BUFFER_DATA
(
buffer2
)
!=
NULL
);
fail_unless
(
GST_BUFFER_SIZE
(
buffer2
)
==
100
);
data2
=
GST_BUFFER_DATA
(
buffer2
);
data2
=
gst_buffer_map
(
buffer2
,
&
size2
,
NULL
,
GST_MAP_READ
);
fail_unless
(
data2
!=
NULL
);
fail_unless
(
size2
==
100
);
avail
=
gst_adapter_available
(
adapter
);
fail_unless
(
avail
==
0
);
...
...
@@ -184,6 +193,9 @@ GST_START_TEST (test_take1)
fail_unless
(
buffer
==
buffer2
);
fail_unless
(
data
==
data2
);
gst_buffer_unmap
(
buffer
,
data
,
size
);
gst_buffer_unmap
(
buffer2
,
data2
,
size2
);
gst_buffer_unref
(
buffer2
);
g_object_unref
(
adapter
);
...
...
@@ -209,16 +221,16 @@ GST_START_TEST (test_take3)
GstBuffer
*
buffer
,
*
buffer2
;
guint
avail
;
guint8
*
data
,
*
data2
;
gsize
size
,
size2
;
adapter
=
gst_adapter_new
();
fail_unless
(
adapter
!=
NULL
);
buffer
=
gst_buffer_new_and_alloc
(
100
);
fail_unless
(
buffer
!=
NULL
);
fail_unless
(
GST_BUFFER_DATA
(
buffer
)
!=
NULL
);
fail_unless
(
GST_BUFFER_SIZE
(
buffer
)
==
100
);
data
=
GST_BUFFER_DATA
(
buffer
);
data
=
gst_buffer_map
(
buffer
,
&
size
,
NULL
,
GST_MAP_READ
);
fail_unless
(
data
!=
NULL
);
fail_unless
(
size
==
100
);
/* set up and push subbuffers */
buffer2
=
gst_buffer_create_sub
(
buffer
,
0
,
25
);
...
...
@@ -238,9 +250,9 @@ GST_START_TEST (test_take3)
/* take out buffer */
buffer2
=
gst_adapter_take_buffer
(
adapter
,
100
);
fail_unless
(
buffer2
!=
NULL
);
fail_unless
(
GST_BUFFER_DATA
(
buffer2
)
!=
NULL
);
fail_unless
(
GST_BUFFER_SIZE
(
buffer2
)
==
100
);
data2
=
GST_BUFFER_DATA
(
buffer2
);
data2
=
gst_buffer_map
(
buffer2
,
&
size2
,
NULL
,
GST_MAP_READ
);
fail_unless
(
data2
!=
NULL
);
fail_unless
(
size2
==
100
);
avail
=
gst_adapter_available
(
adapter
);
fail_unless
(
avail
==
0
);
...
...
@@ -248,6 +260,8 @@ GST_START_TEST (test_take3)
/* the data should be the same */
fail_unless
(
data
==
data2
);
gst_buffer_unmap
(
buffer
,
data
,
size
);
gst_buffer_unmap
(
buffer2
,
data2
,
size2
);
gst_buffer_unref
(
buffer2
);
g_object_unref
(
adapter
);
...
...
@@ -265,16 +279,20 @@ create_and_fill_adapter (void)
fail_unless
(
adapter
!=
NULL
);
for
(
i
=
0
;
i
<
10000
;
i
+=
4
)
{
GstBuffer
*
buf
=
gst_buffer_new_and_alloc
(
sizeof
(
guint32
)
*
4
)
;
GstBuffer
*
buf
;
guint8
*
data
;
buf
=
gst_buffer_new_and_alloc
(
sizeof
(
guint32
)
*
4
);
fail_unless
(
buf
!=
NULL
);
data
=
GST_BUFFER_DATA
(
buf
);
data
=
gst_buffer_map
(
buf
,
NULL
,
NULL
,
GST_MAP_WRITE
);
for
(
j
=
0
;
j
<
4
;
j
++
)
{
GST_WRITE_UINT32_LE
(
data
,
i
+
j
);
data
+=
sizeof
(
guint32
);
}
gst_buffer_unmap
(
buf
,
data
,
sizeof
(
guint32
)
*
4
);
gst_adapter_push
(
adapter
,
buf
);
}
...
...
@@ -314,8 +332,13 @@ GST_START_TEST (test_take_buf_order)
adapter
=
create_and_fill_adapter
();
while
(
gst_adapter_available
(
adapter
)
>=
sizeof
(
guint32
))
{
GstBuffer
*
buf
=
gst_adapter_take_buffer
(
adapter
,
sizeof
(
guint32
));
gpointer
data
;
gsize
size
;
data
=
gst_buffer_map
(
buf
,
&
size
,
NULL
,
GST_MAP_READ
);
fail_unless
(
GST_READ_UINT32_LE
(
data
)
==
i
);
gst_buffer_unmap
(
buf
,
data
,
size
);
fail_unless
(
GST_READ_UINT32_LE
(
GST_BUFFER_DATA
(
buf
))
==
i
);
i
++
;
gst_buffer_unref
(
buf
);
...
...
@@ -509,7 +532,7 @@ GST_START_TEST (test_timestamp)
/* remove first buffer, timestamp of empty buffer is visible */
buffer
=
gst_adapter_take_buffer
(
adapter
,
99
);
fail_unless
(
buffer
!=
NULL
);
fail_unless
(
GST_BUFFER_SIZE
(
buffer
)
==
99
);
fail_unless
(
gst_buffer_get_size
(
buffer
)
==
99
);
gst_buffer_unref
(
buffer
);
avail
=
gst_adapter_available
(
adapter
);
fail_unless
(
avail
==
100
);
...
...
@@ -518,8 +541,10 @@ GST_START_TEST (test_timestamp)
fail_unless
(
dist
==
0
);
/* remove empty buffer, timestamp still visible */
cdata
=
gst_adapter_
peek
(
adapter
,
50
);
cdata
=
gst_adapter_
map
(
adapter
,
50
);
fail_unless
(
cdata
!=
NULL
);
gst_adapter_unmap
(
adapter
,
0
);
data
=
gst_adapter_take
(
adapter
,
50
);
fail_unless
(
data
!=
NULL
);
g_free
(
data
);
...
...
@@ -546,10 +571,12 @@ GST_START_TEST (test_scan)
fail_unless
(
adapter
!=
NULL
);
buffer
=
gst_buffer_new_and_alloc
(
100
);
data
=
GST_BUFFER_DATA
(
buffer
);
data
=
gst_buffer_map
(
buffer
,
NULL
,
NULL
,
GST_MAP_WRITE
);
/* fill with pattern */
for
(
i
=
0
;
i
<
100
;
i
++
)
data
[
i
]
=
i
;
gst_buffer_unmap
(
buffer
,
data
,
100
);
gst_adapter_push
(
adapter
,
buffer
);
...
...
@@ -608,10 +635,12 @@ GST_START_TEST (test_scan)
/* add another buffer */
buffer
=
gst_buffer_new_and_alloc
(
100
);
data
=
GST_BUFFER_DATA
(
buffer
);
data
=
gst_buffer_map
(
buffer
,
NULL
,
NULL
,
GST_MAP_WRITE
);
/* fill with pattern */
for
(
i
=
0
;
i
<
100
;
i
++
)
data
[
i
]
=
i
+
100
;
gst_buffer_unmap
(
buffer
,
data
,
100
);
gst_adapter_push
(
adapter
,
buffer
);
...
...
@@ -739,23 +768,26 @@ GST_START_TEST (test_take_list)
while
(
gst_adapter_available
(
adapter
)
>=
sizeof
(
guint32
))
{
GList
*
list
,
*
walk
;
GstBuffer
*
buf
;
g
uint
size
;
guint8
*
data
;
g
size
size
,
left
;
guint8
*
data
,
*
ptr
;
list
=
gst_adapter_take_list
(
adapter
,
sizeof
(
guint32
)
*
5
);
fail_unless
(
list
!=
NULL
);
for
(
walk
=
list
;
walk
;
walk
=
g_list_next
(
walk
))
{
buf
=
walk
->
data
;
data
=
GST_BUFFER_DATA
(
buf
);
size
=
GST_BUFFER_SIZE
(
buf
);
while
(
size
>
0
)
{
fail_unless
(
GST_READ_UINT32_LE
(
data
)
==
i
);
ptr
=
data
=
gst_buffer_map
(
buf
,
&
size
,
NULL
,
GST_MAP_READ
);
left
=
size
;
while
(
left
>
0
)
{
fail_unless
(
GST_READ_UINT32_LE
(
ptr
)
==
i
);
i
++
;
data
+=
sizeof
(
guint32
);
size
-=
sizeof
(
guint32
);
ptr
+=
sizeof
(
guint32
);
left
-=
sizeof
(
guint32
);
}
gst_buffer_unmap
(
buf
,
data
,
size
);
gst_buffer_unref
(
buf
);
}
g_list_free
(
list
);
...
...
tests/check/libs/bitreader.c
View file @
1af328e7
...
...
@@ -46,9 +46,10 @@ GST_START_TEST (test_initialization)
GstBitReader
reader
=
GST_BIT_READER_INIT
(
data
,
4
);
GstBitReader
*
reader2
;
guint8
x
=
0
;
guint8
*
bdata
;
gsize
bsize
;
GST_BUFFER_DATA
(
buffer
)
=
data
;
GST_BUFFER_SIZE
(
buffer
)
=
4
;
gst_buffer_take_memory
(
buffer
,
gst_memory_new_wrapped
(
data
,
NULL
,
4
,
0
,
4
));
fail_unless
(
gst_bit_reader_get_bits_uint8
(
&
reader
,
&
x
,
8
));
fail_unless_equals_int
(
x
,
0x01
);
...
...
@@ -63,11 +64,13 @@ GST_START_TEST (test_initialization)
fail_unless
(
gst_bit_reader_get_bits_uint8
(
&
reader
,
&
x
,
8
));
fail_unless_equals_int
(
x
,
0x02
);
gst_bit_reader_init_from_buffer
(
&
reader
,
buffer
);
bdata
=
gst_buffer_map
(
buffer
,
&
bsize
,
NULL
,
GST_MAP_READ
);
gst_bit_reader_init
(
&
reader
,
bdata
,
bsize
);
fail_unless
(
gst_bit_reader_get_bits_uint8
(
&
reader
,
&
x
,
8
));
fail_unless_equals_int
(
x
,
0x01
);
fail_unless
(
gst_bit_reader_get_bits_uint8
(
&
reader
,
&
x
,
8
));
fail_unless_equals_int
(
x
,
0x02
);
gst_buffer_unmap
(
buffer
,
bdata
,
bsize
);
reader2
=
gst_bit_reader_new
(
data
,
4
);
fail_unless
(
gst_bit_reader_get_bits_uint8
(
reader2
,
&
x
,
8
));
...
...
@@ -76,12 +79,14 @@ GST_START_TEST (test_initialization)
fail_unless_equals_int
(
x
,
0x02
);
gst_bit_reader_free
(
reader2
);
reader2
=
gst_bit_reader_new_from_buffer
(
buffer
);
bdata
=
gst_buffer_map
(
buffer
,
&
bsize
,
NULL
,
GST_MAP_READ
);
reader2
=
gst_bit_reader_new
(
bdata
,
bsize
);
fail_unless
(
gst_bit_reader_get_bits_uint8
(
reader2
,
&
x
,
8
));
fail_unless_equals_int
(
x
,
0x01
);
fail_unless
(
gst_bit_reader_get_bits_uint8
(
reader2
,
&
x
,
8
));
fail_unless_equals_int
(
x
,
0x02
);
gst_bit_reader_free
(
reader2
);
gst_buffer_unmap
(
buffer
,
bdata
,
bsize
);
gst_buffer_unref
(
buffer
);
}
...
...
tests/check/libs/bytereader.c
View file @
1af328e7
...
...
@@ -46,9 +46,10 @@ GST_START_TEST (test_initialization)
GstByteReader
reader
=
GST_BYTE_READER_INIT
(
data
,
4
);
GstByteReader
*
reader2
;
guint8
x
=
0
;
guint8
*
bdata
;
gsize
bsize
;
GST_BUFFER_DATA
(
buffer
)
=
data
;
GST_BUFFER_SIZE
(
buffer
)
=
4
;
gst_buffer_take_memory
(
buffer
,
gst_memory_new_wrapped
(
data
,
NULL
,
4
,
0
,
4
));
fail_unless
(
gst_byte_reader_get_uint8
(
&
reader
,
&
x
));
fail_unless_equals_int
(
x
,
0x01
);
...
...
@@ -63,11 +64,13 @@ GST_START_TEST (test_initialization)
fail_unless
(
gst_byte_reader_get_uint8
(
&
reader
,
&
x
));
fail_unless_equals_int
(
x
,
0x02
);
gst_byte_reader_init_from_buffer
(
&
reader
,
buffer
);
bdata
=
gst_buffer_map
(
buffer
,
&
bsize
,
NULL
,
GST_MAP_READ
);
gst_byte_reader_init
(
&
reader
,
bdata
,
bsize
);
fail_unless
(
gst_byte_reader_get_uint8
(
&
reader
,
&
x
));
fail_unless_equals_int
(
x
,
0x01
);
fail_unless
(
gst_byte_reader_get_uint8
(
&
reader
,
&
x
));
fail_unless_equals_int
(
x
,
0x02
);
gst_buffer_unmap
(
buffer
,
bdata
,
bsize
);
reader2
=
gst_byte_reader_new
(
data
,
4
);
fail_unless
(
gst_byte_reader_get_uint8
(
reader2
,
&
x
));
...
...
@@ -76,12 +79,14 @@ GST_START_TEST (test_initialization)
fail_unless_equals_int
(
x
,
0x02
);
gst_byte_reader_free
(
reader2
);
reader2
=
gst_byte_reader_new_from_buffer
(
buffer
);
bdata
=
gst_buffer_map
(
buffer
,
&
bsize
,
NULL
,
GST_MAP_READ
);
reader2
=
gst_byte_reader_new
(
bdata
,
bsize
);
fail_unless
(
gst_byte_reader_get_uint8
(
reader2
,
&
x
));
fail_unless_equals_int
(
x
,
0x01
);
fail_unless
(
gst_byte_reader_get_uint8
(
reader2
,
&
x
));
fail_unless_equals_int
(
x
,
0x02
);
gst_byte_reader_free
(
reader2
);
gst_buffer_unmap
(
buffer
,
bdata
,
bsize
);
gst_buffer_unref
(
buffer
);
}
...
...
tests/check/libs/test_transform.c
View file @
1af328e7
...
...
@@ -69,8 +69,8 @@ static gboolean (*klass_set_caps) (GstBaseTransform * trans, GstCaps * incaps,
static
GstCaps
*
(
*
klass_transform_caps
)
(
GstBaseTransform
*
trans
,
GstPadDirection
direction
,
GstCaps
*
caps
)
=
NULL
;
static
gboolean
(
*
klass_transform_size
)
(
GstBaseTransform
*
trans
,
GstPadDirection
direction
,
GstCaps
*
caps
,
g
uint
size
,
GstCaps
*
othercaps
,
g
uint
*
othersize
)
=
NULL
;
GstPadDirection
direction
,
GstCaps
*
caps
,
g
size
size
,
GstCaps
*
othercaps
,
g
size
*
othersize
)
=
NULL
;
static
gboolean
klass_passthrough_on_same_caps
=
FALSE
;
static
GstStaticPadTemplate
*
sink_template
=
&
gst_test_trans_sink_template
;
...
...
tests/check/libs/transform1.c
View file @
1af328e7
...
...
@@ -85,7 +85,7 @@ GST_START_TEST (basetransform_chain_pt1)
buffer
=
gst_test_trans_pop
(
trans
);
fail_unless
(
buffer
!=
NULL
);
fail_unless
(
GST_BUFFER_SIZE
(
buffer
)
==
20
);
fail_unless
(
gst_buffer_get_size
(
buffer
)
==
20
);
/* caps should not have been set */
fail_unless
(
GST_BUFFER_CAPS
(
buffer
)
==
NULL
);
...
...
@@ -104,7 +104,7 @@ GST_START_TEST (basetransform_chain_pt1)
buffer
=
gst_test_trans_pop
(
trans
);
fail_unless
(
buffer
!=
NULL
);
fail_unless
(
GST_BUFFER_SIZE
(
buffer
)
==
10
);
fail_unless
(
gst_buffer_get_size
(
buffer
)
==
10
);
/* caps should not have been set */
fail_unless
(
GST_BUFFER_CAPS
(
buffer
)
==
NULL
);
...
...
@@ -194,7 +194,7 @@ GST_START_TEST (basetransform_chain_pt2)
buffer
=
gst_test_trans_pop
(
trans
);
fail_unless
(
buffer
!=
NULL
);
fail_unless
(
GST_BUFFER_SIZE
(
buffer
)
==
20
);
fail_unless
(
gst_buffer_get_size
(
buffer
)
==
20
);
fail_unless
(
gst_caps_is_equal
(
GST_BUFFER_CAPS
(
buffer
),
caps
));