mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-06 07:28:53 +00:00
tests/check/pipelines/: Port to bufferstraw.
Original commit message from CVS: 2006-07-21 Andy Wingo <wingo@pobox.com> * tests/check/pipelines/vorbisenc.c: * tests/check/pipelines/theoraenc.c: Port to bufferstraw. Bufferstraw was actually factored out of these tests. Now we share code yay.
This commit is contained in:
parent
5f3f10861e
commit
f85331c099
5 changed files with 42 additions and 209 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
||||||
|
2006-07-21 Andy Wingo <wingo@pobox.com>
|
||||||
|
|
||||||
|
* tests/check/pipelines/vorbisenc.c:
|
||||||
|
* tests/check/pipelines/theoraenc.c: Port to bufferstraw.
|
||||||
|
Bufferstraw was actually factored out of these tests. Now we share
|
||||||
|
code yay.
|
||||||
|
|
||||||
|
* configure.ac (GST_MAJORMINOR): Rev core requirements to 0.10.9.1
|
||||||
|
for bufferstraw addition to gstcheck.
|
||||||
|
|
||||||
2006-07-21 Wim Taymans <wim@fluendo.com>
|
2006-07-21 Wim Taymans <wim@fluendo.com>
|
||||||
|
|
||||||
* ext/theora/theoradec.c: (clip_buffer):
|
* ext/theora/theoradec.c: (clip_buffer):
|
||||||
|
|
2
common
2
common
|
@ -1 +1 @@
|
||||||
Subproject commit 53ecdc0c97a2992e5abeddd41d514bc142401e5d
|
Subproject commit c22b0a7fbd8ebcf0a531f2898163d9b834f89ab1
|
|
@ -52,7 +52,7 @@ dnl AS_LIBTOOL_TAGS
|
||||||
AM_PROG_LIBTOOL
|
AM_PROG_LIBTOOL
|
||||||
|
|
||||||
dnl *** required versions of GStreamer stuff ***
|
dnl *** required versions of GStreamer stuff ***
|
||||||
GST_REQ=0.10.8.1
|
GST_REQ=0.10.9.1
|
||||||
|
|
||||||
dnl *** autotools stuff ****
|
dnl *** autotools stuff ****
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <gst/check/gstcheck.h>
|
#include <gst/check/gstcheck.h>
|
||||||
|
#include <gst/check/gstbufferstraw.h>
|
||||||
|
|
||||||
#ifndef GST_DISABLE_PARSE
|
#ifndef GST_DISABLE_PARSE
|
||||||
|
|
||||||
|
@ -30,104 +31,6 @@
|
||||||
/* I know all of these have a shift of 6 bits */
|
/* I know all of these have a shift of 6 bits */
|
||||||
#define GRANULEPOS_SHIFT 6
|
#define GRANULEPOS_SHIFT 6
|
||||||
|
|
||||||
static GCond *cond = NULL;
|
|
||||||
static GMutex *lock = NULL;
|
|
||||||
static GstBuffer *buf = NULL;
|
|
||||||
static gulong id;
|
|
||||||
|
|
||||||
/* called for every buffer. Waits until the global "buf" variable is unset,
|
|
||||||
* then sets it to the buffer received, and signals. */
|
|
||||||
static gboolean
|
|
||||||
buffer_probe (GstPad * pad, GstBuffer * buffer, gpointer unused)
|
|
||||||
{
|
|
||||||
g_mutex_lock (lock);
|
|
||||||
|
|
||||||
while (buf != NULL)
|
|
||||||
g_cond_wait (cond, lock);
|
|
||||||
|
|
||||||
/* increase the refcount because we store it globally for others to use */
|
|
||||||
buf = gst_buffer_ref (buffer);
|
|
||||||
|
|
||||||
g_cond_signal (cond);
|
|
||||||
|
|
||||||
g_mutex_unlock (lock);
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
start_pipeline (GstElement * bin, GstPad * pad)
|
|
||||||
{
|
|
||||||
GstStateChangeReturn ret;
|
|
||||||
|
|
||||||
id = gst_pad_add_buffer_probe (pad, G_CALLBACK (buffer_probe), NULL);
|
|
||||||
|
|
||||||
cond = g_cond_new ();
|
|
||||||
lock = g_mutex_new ();
|
|
||||||
|
|
||||||
ret = gst_element_set_state (bin, GST_STATE_PLAYING);
|
|
||||||
fail_if (ret == GST_STATE_CHANGE_FAILURE, "Could not start test pipeline");
|
|
||||||
if (ret == GST_STATE_CHANGE_ASYNC) {
|
|
||||||
ret = gst_element_get_state (bin, NULL, NULL, GST_CLOCK_TIME_NONE);
|
|
||||||
fail_if (ret != GST_STATE_CHANGE_SUCCESS, "Could not start test pipeline");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* waits until the probe receives a buffer. will catch every buffer */
|
|
||||||
static GstBuffer *
|
|
||||||
get_buffer (GstElement * bin, GstPad * pad)
|
|
||||||
{
|
|
||||||
GstBuffer *ret;
|
|
||||||
|
|
||||||
g_mutex_lock (lock);
|
|
||||||
|
|
||||||
while (buf == NULL)
|
|
||||||
g_cond_wait (cond, lock);
|
|
||||||
|
|
||||||
ret = buf;
|
|
||||||
buf = NULL;
|
|
||||||
|
|
||||||
g_cond_signal (cond);
|
|
||||||
|
|
||||||
g_mutex_unlock (lock);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
stop_pipeline (GstElement * bin, GstPad * pad)
|
|
||||||
{
|
|
||||||
GstStateChangeReturn ret;
|
|
||||||
|
|
||||||
g_mutex_lock (lock);
|
|
||||||
if (buf)
|
|
||||||
gst_buffer_unref (buf);
|
|
||||||
buf = NULL;
|
|
||||||
gst_pad_remove_buffer_probe (pad, (guint) id);
|
|
||||||
id = 0;
|
|
||||||
g_cond_signal (cond);
|
|
||||||
g_mutex_unlock (lock);
|
|
||||||
|
|
||||||
ret = gst_element_set_state (bin, GST_STATE_NULL);
|
|
||||||
fail_if (ret == GST_STATE_CHANGE_FAILURE, "Could not stop test pipeline");
|
|
||||||
if (ret == GST_STATE_CHANGE_ASYNC) {
|
|
||||||
ret = gst_element_get_state (bin, NULL, NULL, GST_CLOCK_TIME_NONE);
|
|
||||||
fail_if (ret != GST_STATE_CHANGE_SUCCESS, "Could not stop test pipeline");
|
|
||||||
}
|
|
||||||
|
|
||||||
g_mutex_lock (lock);
|
|
||||||
if (buf)
|
|
||||||
gst_buffer_unref (buf);
|
|
||||||
buf = NULL;
|
|
||||||
g_mutex_unlock (lock);
|
|
||||||
|
|
||||||
g_mutex_free (lock);
|
|
||||||
g_cond_free (cond);
|
|
||||||
|
|
||||||
lock = NULL;
|
|
||||||
cond = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
check_buffer_is_header (GstBuffer * buffer, gboolean is_header)
|
check_buffer_is_header (GstBuffer * buffer, gboolean is_header)
|
||||||
{
|
{
|
||||||
|
@ -228,24 +131,24 @@ GST_START_TEST (test_granulepos_offset)
|
||||||
gst_object_unref (sink);
|
gst_object_unref (sink);
|
||||||
}
|
}
|
||||||
|
|
||||||
start_pipeline (bin, pad);
|
gst_buffer_straw_start_pipeline (bin, pad);
|
||||||
|
|
||||||
/* header packets should have timestamp == NONE, granulepos 0, IN_CAPS */
|
/* header packets should have timestamp == NONE, granulepos 0, IN_CAPS */
|
||||||
buffer = get_buffer (bin, pad);
|
buffer = gst_buffer_straw_get_buffer (bin, pad);
|
||||||
check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);
|
check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);
|
||||||
check_buffer_duration (buffer, GST_CLOCK_TIME_NONE);
|
check_buffer_duration (buffer, GST_CLOCK_TIME_NONE);
|
||||||
check_buffer_granulepos (buffer, 0);
|
check_buffer_granulepos (buffer, 0);
|
||||||
check_buffer_is_header (buffer, TRUE);
|
check_buffer_is_header (buffer, TRUE);
|
||||||
gst_buffer_unref (buffer);
|
gst_buffer_unref (buffer);
|
||||||
|
|
||||||
buffer = get_buffer (bin, pad);
|
buffer = gst_buffer_straw_get_buffer (bin, pad);
|
||||||
check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);
|
check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);
|
||||||
check_buffer_duration (buffer, GST_CLOCK_TIME_NONE);
|
check_buffer_duration (buffer, GST_CLOCK_TIME_NONE);
|
||||||
check_buffer_granulepos (buffer, 0);
|
check_buffer_granulepos (buffer, 0);
|
||||||
check_buffer_is_header (buffer, TRUE);
|
check_buffer_is_header (buffer, TRUE);
|
||||||
gst_buffer_unref (buffer);
|
gst_buffer_unref (buffer);
|
||||||
|
|
||||||
buffer = get_buffer (bin, pad);
|
buffer = gst_buffer_straw_get_buffer (bin, pad);
|
||||||
check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);
|
check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);
|
||||||
check_buffer_duration (buffer, GST_CLOCK_TIME_NONE);
|
check_buffer_duration (buffer, GST_CLOCK_TIME_NONE);
|
||||||
check_buffer_granulepos (buffer, 0);
|
check_buffer_granulepos (buffer, 0);
|
||||||
|
@ -262,7 +165,7 @@ GST_START_TEST (test_granulepos_offset)
|
||||||
* same value due to loss of precision with granulepos. theoraenc does
|
* same value due to loss of precision with granulepos. theoraenc does
|
||||||
* take care to timestamp correctly based on the offset of the input data
|
* take care to timestamp correctly based on the offset of the input data
|
||||||
* however, so it does do sub-granulepos timestamping. */
|
* however, so it does do sub-granulepos timestamping. */
|
||||||
buffer = get_buffer (bin, pad);
|
buffer = gst_buffer_straw_get_buffer (bin, pad);
|
||||||
last_granulepos = GST_BUFFER_OFFSET_END (buffer);
|
last_granulepos = GST_BUFFER_OFFSET_END (buffer);
|
||||||
check_buffer_timestamp (buffer, TIMESTAMP_OFFSET);
|
check_buffer_timestamp (buffer, TIMESTAMP_OFFSET);
|
||||||
/* don't really have a good way of checking duration... */
|
/* don't really have a good way of checking duration... */
|
||||||
|
@ -274,7 +177,7 @@ GST_START_TEST (test_granulepos_offset)
|
||||||
gst_buffer_unref (buffer);
|
gst_buffer_unref (buffer);
|
||||||
|
|
||||||
/* check continuity with the next buffer */
|
/* check continuity with the next buffer */
|
||||||
buffer = get_buffer (bin, pad);
|
buffer = gst_buffer_straw_get_buffer (bin, pad);
|
||||||
check_buffer_timestamp (buffer, next_timestamp);
|
check_buffer_timestamp (buffer, next_timestamp);
|
||||||
check_buffer_duration (buffer,
|
check_buffer_duration (buffer,
|
||||||
gst_util_uint64_scale (GST_BUFFER_OFFSET_END (buffer), GST_SECOND,
|
gst_util_uint64_scale (GST_BUFFER_OFFSET_END (buffer), GST_SECOND,
|
||||||
|
@ -286,7 +189,7 @@ GST_START_TEST (test_granulepos_offset)
|
||||||
gst_buffer_unref (buffer);
|
gst_buffer_unref (buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
stop_pipeline (bin, pad);
|
gst_buffer_straw_stop_pipeline (bin, pad);
|
||||||
|
|
||||||
gst_object_unref (pad);
|
gst_object_unref (pad);
|
||||||
gst_object_unref (bin);
|
gst_object_unref (bin);
|
||||||
|
@ -322,24 +225,24 @@ GST_START_TEST (test_continuity)
|
||||||
gst_object_unref (sink);
|
gst_object_unref (sink);
|
||||||
}
|
}
|
||||||
|
|
||||||
start_pipeline (bin, pad);
|
gst_buffer_straw_start_pipeline (bin, pad);
|
||||||
|
|
||||||
/* header packets should have timestamp == NONE, granulepos 0 */
|
/* header packets should have timestamp == NONE, granulepos 0 */
|
||||||
buffer = get_buffer (bin, pad);
|
buffer = gst_buffer_straw_get_buffer (bin, pad);
|
||||||
check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);
|
check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);
|
||||||
check_buffer_duration (buffer, GST_CLOCK_TIME_NONE);
|
check_buffer_duration (buffer, GST_CLOCK_TIME_NONE);
|
||||||
check_buffer_granulepos (buffer, 0);
|
check_buffer_granulepos (buffer, 0);
|
||||||
check_buffer_is_header (buffer, TRUE);
|
check_buffer_is_header (buffer, TRUE);
|
||||||
gst_buffer_unref (buffer);
|
gst_buffer_unref (buffer);
|
||||||
|
|
||||||
buffer = get_buffer (bin, pad);
|
buffer = gst_buffer_straw_get_buffer (bin, pad);
|
||||||
check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);
|
check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);
|
||||||
check_buffer_duration (buffer, GST_CLOCK_TIME_NONE);
|
check_buffer_duration (buffer, GST_CLOCK_TIME_NONE);
|
||||||
check_buffer_granulepos (buffer, 0);
|
check_buffer_granulepos (buffer, 0);
|
||||||
check_buffer_is_header (buffer, TRUE);
|
check_buffer_is_header (buffer, TRUE);
|
||||||
gst_buffer_unref (buffer);
|
gst_buffer_unref (buffer);
|
||||||
|
|
||||||
buffer = get_buffer (bin, pad);
|
buffer = gst_buffer_straw_get_buffer (bin, pad);
|
||||||
check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);
|
check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);
|
||||||
check_buffer_duration (buffer, GST_CLOCK_TIME_NONE);
|
check_buffer_duration (buffer, GST_CLOCK_TIME_NONE);
|
||||||
check_buffer_granulepos (buffer, 0);
|
check_buffer_granulepos (buffer, 0);
|
||||||
|
@ -356,7 +259,7 @@ GST_START_TEST (test_continuity)
|
||||||
* same value due to loss of precision with granulepos. theoraenc does
|
* same value due to loss of precision with granulepos. theoraenc does
|
||||||
* take care to timestamp correctly based on the offset of the input data
|
* take care to timestamp correctly based on the offset of the input data
|
||||||
* however, so it does do sub-granulepos timestamping. */
|
* however, so it does do sub-granulepos timestamping. */
|
||||||
buffer = get_buffer (bin, pad);
|
buffer = gst_buffer_straw_get_buffer (bin, pad);
|
||||||
last_granulepos = GST_BUFFER_OFFSET_END (buffer);
|
last_granulepos = GST_BUFFER_OFFSET_END (buffer);
|
||||||
check_buffer_timestamp (buffer, 0);
|
check_buffer_timestamp (buffer, 0);
|
||||||
/* plain division because I know the answer is exact */
|
/* plain division because I know the answer is exact */
|
||||||
|
@ -369,7 +272,7 @@ GST_START_TEST (test_continuity)
|
||||||
gst_buffer_unref (buffer);
|
gst_buffer_unref (buffer);
|
||||||
|
|
||||||
/* check continuity with the next buffer */
|
/* check continuity with the next buffer */
|
||||||
buffer = get_buffer (bin, pad);
|
buffer = gst_buffer_straw_get_buffer (bin, pad);
|
||||||
check_buffer_timestamp (buffer, next_timestamp);
|
check_buffer_timestamp (buffer, next_timestamp);
|
||||||
check_buffer_duration (buffer, GST_SECOND / 10);
|
check_buffer_duration (buffer, GST_SECOND / 10);
|
||||||
check_buffer_granulepos (buffer, 1);
|
check_buffer_granulepos (buffer, 1);
|
||||||
|
@ -378,7 +281,7 @@ GST_START_TEST (test_continuity)
|
||||||
gst_buffer_unref (buffer);
|
gst_buffer_unref (buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
stop_pipeline (bin, pad);
|
gst_buffer_straw_stop_pipeline (bin, pad);
|
||||||
|
|
||||||
gst_object_unref (pad);
|
gst_object_unref (pad);
|
||||||
gst_object_unref (bin);
|
gst_object_unref (bin);
|
||||||
|
|
|
@ -21,92 +21,12 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <gst/check/gstcheck.h>
|
#include <gst/check/gstcheck.h>
|
||||||
|
#include <gst/check/gstbufferstraw.h>
|
||||||
|
|
||||||
#ifndef GST_DISABLE_PARSE
|
#ifndef GST_DISABLE_PARSE
|
||||||
|
|
||||||
#define TIMESTAMP_OFFSET G_GINT64_CONSTANT(3249870963)
|
#define TIMESTAMP_OFFSET G_GINT64_CONSTANT(3249870963)
|
||||||
|
|
||||||
static GCond *cond = NULL;
|
|
||||||
static GMutex *lock = NULL;
|
|
||||||
static GstBuffer *buf = NULL;
|
|
||||||
static gulong id;
|
|
||||||
|
|
||||||
static gboolean
|
|
||||||
buffer_probe (GstPad * pad, GstBuffer * buffer, gpointer unused)
|
|
||||||
{
|
|
||||||
g_mutex_lock (lock);
|
|
||||||
|
|
||||||
while (buf != NULL)
|
|
||||||
g_cond_wait (cond, lock);
|
|
||||||
|
|
||||||
buf = gst_buffer_ref (buffer);
|
|
||||||
|
|
||||||
g_cond_signal (cond);
|
|
||||||
|
|
||||||
g_mutex_unlock (lock);
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
start_pipeline (GstElement * bin, GstPad * pad)
|
|
||||||
{
|
|
||||||
id = gst_pad_add_buffer_probe (pad, G_CALLBACK (buffer_probe), NULL);
|
|
||||||
|
|
||||||
cond = g_cond_new ();
|
|
||||||
lock = g_mutex_new ();
|
|
||||||
|
|
||||||
gst_element_set_state (bin, GST_STATE_PLAYING);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
static GstBuffer *
|
|
||||||
get_buffer (GstElement * bin, GstPad * pad)
|
|
||||||
{
|
|
||||||
GstBuffer *ret;
|
|
||||||
|
|
||||||
g_mutex_lock (lock);
|
|
||||||
|
|
||||||
while (buf == NULL)
|
|
||||||
g_cond_wait (cond, lock);
|
|
||||||
|
|
||||||
ret = buf;
|
|
||||||
buf = NULL;
|
|
||||||
|
|
||||||
g_cond_signal (cond);
|
|
||||||
|
|
||||||
g_mutex_unlock (lock);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
stop_pipeline (GstElement * bin, GstPad * pad)
|
|
||||||
{
|
|
||||||
g_mutex_lock (lock);
|
|
||||||
if (buf)
|
|
||||||
gst_buffer_unref (buf);
|
|
||||||
buf = NULL;
|
|
||||||
g_cond_signal (cond);
|
|
||||||
gst_pad_remove_buffer_probe (pad, (guint) id);
|
|
||||||
id = 0;
|
|
||||||
g_mutex_unlock (lock);
|
|
||||||
|
|
||||||
gst_element_set_state (bin, GST_STATE_NULL);
|
|
||||||
|
|
||||||
g_mutex_lock (lock);
|
|
||||||
if (buf)
|
|
||||||
gst_buffer_unref (buf);
|
|
||||||
buf = NULL;
|
|
||||||
g_mutex_unlock (lock);
|
|
||||||
|
|
||||||
g_mutex_free (lock);
|
|
||||||
g_cond_free (cond);
|
|
||||||
|
|
||||||
lock = NULL;
|
|
||||||
cond = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
check_buffer_timestamp (GstBuffer * buffer, GstClockTime timestamp)
|
check_buffer_timestamp (GstBuffer * buffer, GstClockTime timestamp)
|
||||||
{
|
{
|
||||||
|
@ -194,10 +114,10 @@ GST_START_TEST (test_granulepos_offset)
|
||||||
gst_object_unref (sink);
|
gst_object_unref (sink);
|
||||||
}
|
}
|
||||||
|
|
||||||
start_pipeline (bin, pad);
|
gst_buffer_straw_start_pipeline (bin, pad);
|
||||||
|
|
||||||
/* header packets should have timestamp == NONE, granulepos 0 */
|
/* header packets should have timestamp == NONE, granulepos 0 */
|
||||||
buffer = get_buffer (bin, pad);
|
buffer = gst_buffer_straw_get_buffer (bin, pad);
|
||||||
GST_DEBUG ("Got buffer in test");
|
GST_DEBUG ("Got buffer in test");
|
||||||
check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);
|
check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);
|
||||||
check_buffer_duration (buffer, GST_CLOCK_TIME_NONE);
|
check_buffer_duration (buffer, GST_CLOCK_TIME_NONE);
|
||||||
|
@ -205,13 +125,13 @@ GST_START_TEST (test_granulepos_offset)
|
||||||
gst_buffer_unref (buffer);
|
gst_buffer_unref (buffer);
|
||||||
GST_DEBUG ("Unreffed buffer in test");
|
GST_DEBUG ("Unreffed buffer in test");
|
||||||
|
|
||||||
buffer = get_buffer (bin, pad);
|
buffer = gst_buffer_straw_get_buffer (bin, pad);
|
||||||
check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);
|
check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);
|
||||||
check_buffer_duration (buffer, GST_CLOCK_TIME_NONE);
|
check_buffer_duration (buffer, GST_CLOCK_TIME_NONE);
|
||||||
check_buffer_granulepos (buffer, 0);
|
check_buffer_granulepos (buffer, 0);
|
||||||
gst_buffer_unref (buffer);
|
gst_buffer_unref (buffer);
|
||||||
|
|
||||||
buffer = get_buffer (bin, pad);
|
buffer = gst_buffer_straw_get_buffer (bin, pad);
|
||||||
check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);
|
check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);
|
||||||
check_buffer_duration (buffer, GST_CLOCK_TIME_NONE);
|
check_buffer_duration (buffer, GST_CLOCK_TIME_NONE);
|
||||||
check_buffer_granulepos (buffer, 0);
|
check_buffer_granulepos (buffer, 0);
|
||||||
|
@ -227,7 +147,7 @@ GST_START_TEST (test_granulepos_offset)
|
||||||
* value due to loss of precision with granulepos. vorbisenc does take care
|
* value due to loss of precision with granulepos. vorbisenc does take care
|
||||||
* to timestamp correctly based on the offset of the input data however, so
|
* to timestamp correctly based on the offset of the input data however, so
|
||||||
* it does do sub-granulepos timestamping. */
|
* it does do sub-granulepos timestamping. */
|
||||||
buffer = get_buffer (bin, pad);
|
buffer = gst_buffer_straw_get_buffer (bin, pad);
|
||||||
last_granulepos = GST_BUFFER_OFFSET_END (buffer);
|
last_granulepos = GST_BUFFER_OFFSET_END (buffer);
|
||||||
check_buffer_timestamp (buffer, TIMESTAMP_OFFSET);
|
check_buffer_timestamp (buffer, TIMESTAMP_OFFSET);
|
||||||
/* don't really have a good way of checking duration... */
|
/* don't really have a good way of checking duration... */
|
||||||
|
@ -239,7 +159,7 @@ GST_START_TEST (test_granulepos_offset)
|
||||||
gst_buffer_unref (buffer);
|
gst_buffer_unref (buffer);
|
||||||
|
|
||||||
/* check continuity with the next buffer */
|
/* check continuity with the next buffer */
|
||||||
buffer = get_buffer (bin, pad);
|
buffer = gst_buffer_straw_get_buffer (bin, pad);
|
||||||
check_buffer_timestamp (buffer, next_timestamp);
|
check_buffer_timestamp (buffer, next_timestamp);
|
||||||
check_buffer_duration (buffer,
|
check_buffer_duration (buffer,
|
||||||
gst_util_uint64_scale (GST_BUFFER_OFFSET_END (buffer), GST_SECOND,
|
gst_util_uint64_scale (GST_BUFFER_OFFSET_END (buffer), GST_SECOND,
|
||||||
|
@ -251,7 +171,7 @@ GST_START_TEST (test_granulepos_offset)
|
||||||
gst_buffer_unref (buffer);
|
gst_buffer_unref (buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
stop_pipeline (bin, pad);
|
gst_buffer_straw_stop_pipeline (bin, pad);
|
||||||
|
|
||||||
gst_object_unref (pad);
|
gst_object_unref (pad);
|
||||||
gst_object_unref (bin);
|
gst_object_unref (bin);
|
||||||
|
@ -286,22 +206,22 @@ GST_START_TEST (test_timestamps)
|
||||||
gst_object_unref (sink);
|
gst_object_unref (sink);
|
||||||
}
|
}
|
||||||
|
|
||||||
start_pipeline (bin, pad);
|
gst_buffer_straw_start_pipeline (bin, pad);
|
||||||
|
|
||||||
/* check header packets */
|
/* check header packets */
|
||||||
buffer = get_buffer (bin, pad);
|
buffer = gst_buffer_straw_get_buffer (bin, pad);
|
||||||
check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);
|
check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);
|
||||||
check_buffer_duration (buffer, GST_CLOCK_TIME_NONE);
|
check_buffer_duration (buffer, GST_CLOCK_TIME_NONE);
|
||||||
check_buffer_granulepos (buffer, 0);
|
check_buffer_granulepos (buffer, 0);
|
||||||
gst_buffer_unref (buffer);
|
gst_buffer_unref (buffer);
|
||||||
|
|
||||||
buffer = get_buffer (bin, pad);
|
buffer = gst_buffer_straw_get_buffer (bin, pad);
|
||||||
check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);
|
check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);
|
||||||
check_buffer_duration (buffer, GST_CLOCK_TIME_NONE);
|
check_buffer_duration (buffer, GST_CLOCK_TIME_NONE);
|
||||||
check_buffer_granulepos (buffer, 0);
|
check_buffer_granulepos (buffer, 0);
|
||||||
gst_buffer_unref (buffer);
|
gst_buffer_unref (buffer);
|
||||||
|
|
||||||
buffer = get_buffer (bin, pad);
|
buffer = gst_buffer_straw_get_buffer (bin, pad);
|
||||||
check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);
|
check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);
|
||||||
check_buffer_duration (buffer, GST_CLOCK_TIME_NONE);
|
check_buffer_duration (buffer, GST_CLOCK_TIME_NONE);
|
||||||
check_buffer_granulepos (buffer, 0);
|
check_buffer_granulepos (buffer, 0);
|
||||||
|
@ -312,7 +232,7 @@ GST_START_TEST (test_timestamps)
|
||||||
gint64 last_granulepos;
|
gint64 last_granulepos;
|
||||||
|
|
||||||
/* first buffer has timestamp 0 */
|
/* first buffer has timestamp 0 */
|
||||||
buffer = get_buffer (bin, pad);
|
buffer = gst_buffer_straw_get_buffer (bin, pad);
|
||||||
last_granulepos = GST_BUFFER_OFFSET_END (buffer);
|
last_granulepos = GST_BUFFER_OFFSET_END (buffer);
|
||||||
check_buffer_timestamp (buffer, 0);
|
check_buffer_timestamp (buffer, 0);
|
||||||
/* don't really have a good way of checking duration... */
|
/* don't really have a good way of checking duration... */
|
||||||
|
@ -323,7 +243,7 @@ GST_START_TEST (test_timestamps)
|
||||||
gst_buffer_unref (buffer);
|
gst_buffer_unref (buffer);
|
||||||
|
|
||||||
/* check continuity with the next buffer */
|
/* check continuity with the next buffer */
|
||||||
buffer = get_buffer (bin, pad);
|
buffer = gst_buffer_straw_get_buffer (bin, pad);
|
||||||
check_buffer_timestamp (buffer, next_timestamp);
|
check_buffer_timestamp (buffer, next_timestamp);
|
||||||
check_buffer_duration (buffer,
|
check_buffer_duration (buffer,
|
||||||
gst_util_uint64_scale (GST_BUFFER_OFFSET_END (buffer), GST_SECOND,
|
gst_util_uint64_scale (GST_BUFFER_OFFSET_END (buffer), GST_SECOND,
|
||||||
|
@ -335,7 +255,7 @@ GST_START_TEST (test_timestamps)
|
||||||
gst_buffer_unref (buffer);
|
gst_buffer_unref (buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
stop_pipeline (bin, pad);
|
gst_buffer_straw_stop_pipeline (bin, pad);
|
||||||
|
|
||||||
gst_object_unref (pad);
|
gst_object_unref (pad);
|
||||||
gst_object_unref (bin);
|
gst_object_unref (bin);
|
||||||
|
|
Loading…
Reference in a new issue