mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-11 01:45:33 +00:00
elements: Use gst_pad_set_caps() instead of manual event fiddling
This commit is contained in:
parent
0aa566d917
commit
701da03ff9
4 changed files with 37 additions and 56 deletions
|
@ -649,7 +649,7 @@ gst_base_audio_visualizer_src_setcaps (GstBaseAudioVisualizer * scope,
|
|||
GST_DEBUG_OBJECT (scope, "blocks: spf %u, req_spf %u",
|
||||
scope->spf, scope->req_spf);
|
||||
|
||||
res = gst_pad_push_event (scope->srcpad, gst_event_new_caps (caps));
|
||||
res = gst_pad_set_caps (scope->srcpad, caps);
|
||||
|
||||
return res;
|
||||
|
||||
|
|
|
@ -616,7 +616,6 @@ switch_pads (GstHLSDemux * demux, GstCaps * newcaps)
|
|||
gst_pad_set_active (demux->srcpad, TRUE);
|
||||
gst_pad_push_event (demux->srcpad, gst_event_new_stream_start ());
|
||||
gst_pad_set_caps (demux->srcpad, newcaps);
|
||||
gst_pad_push_event (demux->srcpad, gst_event_new_caps (newcaps));
|
||||
gst_element_add_pad (GST_ELEMENT (demux), demux->srcpad);
|
||||
|
||||
gst_element_no_more_pads (GST_ELEMENT (demux));
|
||||
|
|
|
@ -37,8 +37,8 @@ cleanup_curlfilesink (GstElement * sink)
|
|||
}
|
||||
|
||||
static void
|
||||
test_verify_file_data (const gchar *dir, gchar *file_name,
|
||||
const gchar *expected_file_content)
|
||||
test_verify_file_data (const gchar * dir, gchar * file_name,
|
||||
const gchar * expected_file_content)
|
||||
{
|
||||
GError *err = NULL;
|
||||
gchar *res_file_content = NULL;
|
||||
|
@ -55,7 +55,7 @@ test_verify_file_data (const gchar *dir, gchar *file_name,
|
|||
fail_unless (res_file_content != NULL);
|
||||
|
||||
fail_unless (strncmp (res_file_content, expected_file_content,
|
||||
strlen (expected_file_content)) == 0);
|
||||
strlen (expected_file_content)) == 0);
|
||||
g_free (res_file_content);
|
||||
g_unlink (path);
|
||||
g_free (path);
|
||||
|
@ -71,7 +71,7 @@ test_set_and_play_buffer (const gchar * _data)
|
|||
num_bytes = strlen (data);
|
||||
buffer = gst_buffer_new ();
|
||||
gst_buffer_insert_memory (buffer, 0,
|
||||
gst_memory_new_wrapped (GST_MEMORY_FLAG_READONLY,
|
||||
gst_memory_new_wrapped (GST_MEMORY_FLAG_READONLY,
|
||||
data, num_bytes, 0, num_bytes, data, NULL));
|
||||
|
||||
fail_unless (gst_pad_push (srcpad, buffer) == GST_FLOW_OK);
|
||||
|
@ -87,7 +87,7 @@ test_set_and_fail_to_play_buffer (const gchar * _data)
|
|||
num_bytes = strlen (data);
|
||||
buffer = gst_buffer_new ();
|
||||
gst_buffer_insert_memory (buffer, 0,
|
||||
gst_memory_new_wrapped (GST_MEMORY_FLAG_READONLY,
|
||||
gst_memory_new_wrapped (GST_MEMORY_FLAG_READONLY,
|
||||
data, num_bytes, 0, num_bytes, data, NULL));
|
||||
|
||||
fail_unless (gst_pad_push (srcpad, buffer) == GST_FLOW_ERROR);
|
||||
|
@ -96,37 +96,27 @@ test_set_and_fail_to_play_buffer (const gchar * _data)
|
|||
static gboolean
|
||||
sebras_gst_pad_set_caps (GstPad * pad, GstCaps * caps)
|
||||
{
|
||||
GstEvent *event;
|
||||
gboolean res = TRUE;
|
||||
GstEvent *event;
|
||||
gboolean res = TRUE;
|
||||
|
||||
GST_WARNING ("sebraz: a %p %p", pad, caps);
|
||||
g_return_val_if_fail (GST_IS_PAD (pad), FALSE);
|
||||
GST_WARNING ("sebraz: b");
|
||||
g_return_val_if_fail (caps != NULL && gst_caps_is_fixed (caps), FALSE);
|
||||
GST_WARNING ("sebraz: c");
|
||||
GST_WARNING ("sebraz: a %p %p", pad, caps);
|
||||
g_return_val_if_fail (GST_IS_PAD (pad), FALSE);
|
||||
GST_WARNING ("sebraz: b");
|
||||
g_return_val_if_fail (caps != NULL && gst_caps_is_fixed (caps), FALSE);
|
||||
GST_WARNING ("sebraz: c");
|
||||
|
||||
GST_WARNING ("sebraz: d");
|
||||
event = gst_event_new_caps (caps);
|
||||
GST_WARNING ("sebraz: e");
|
||||
GST_WARNING ("sebraz: d");
|
||||
res = gst_pad_set_caps (pad, caps);
|
||||
GST_WARNING ("sebraz: e");
|
||||
|
||||
if (GST_PAD_IS_SRC (pad)) {
|
||||
GST_WARNING ("sebraz: f1");
|
||||
res = gst_pad_push_event (pad, event);
|
||||
} else {
|
||||
GST_WARNING ("sebraz: f2");
|
||||
res = gst_pad_send_event (pad, event);
|
||||
}
|
||||
|
||||
GST_WARNING ("sebraz: g");
|
||||
|
||||
return res;
|
||||
return res;
|
||||
}
|
||||
|
||||
GST_START_TEST (test_properties)
|
||||
{
|
||||
GstElement *sink;
|
||||
GstCaps *caps;
|
||||
const gchar *location= "file:///tmp/";
|
||||
const gchar *location = "file:///tmp/";
|
||||
const gchar *file_contents = "line 1\r\n";
|
||||
gchar *file_name = g_strdup_printf ("curlfilesink_%d", g_random_int ());
|
||||
gchar *res_location = NULL;
|
||||
|
@ -146,9 +136,7 @@ GST_START_TEST (test_properties)
|
|||
|
||||
g_object_get (sink,
|
||||
"location", &res_location,
|
||||
"file-name", &res_file_name,
|
||||
"create-dirs", &res_create_dirs,
|
||||
NULL);
|
||||
"file-name", &res_file_name, "create-dirs", &res_create_dirs, NULL);
|
||||
GST_WARNING ("sebras: d");
|
||||
|
||||
fail_unless (strncmp (res_location, "mylocation", strlen ("mylocation"))
|
||||
|
@ -171,9 +159,7 @@ GST_START_TEST (test_properties)
|
|||
|
||||
g_object_get (sink,
|
||||
"location", &res_location,
|
||||
"file-name", &res_file_name,
|
||||
"create-dirs", &res_create_dirs,
|
||||
NULL);
|
||||
"file-name", &res_file_name, "create-dirs", &res_create_dirs, NULL);
|
||||
GST_WARNING ("sebras: j");
|
||||
|
||||
fail_unless (strncmp (res_location, location, strlen (location))
|
||||
|
@ -222,13 +208,14 @@ GST_START_TEST (test_properties)
|
|||
g_free (file_name);
|
||||
g_free (path);
|
||||
}
|
||||
|
||||
GST_END_TEST;
|
||||
|
||||
GST_START_TEST (test_one_file)
|
||||
{
|
||||
GstElement *sink;
|
||||
GstCaps *caps;
|
||||
const gchar *location= "file:///tmp/";
|
||||
const gchar *location = "file:///tmp/";
|
||||
gchar *file_name = g_strdup_printf ("curlfilesink_%d", g_random_int ());
|
||||
const gchar *file_content = "line 1\r\n";
|
||||
gchar *res_location = NULL;
|
||||
|
@ -240,9 +227,7 @@ GST_START_TEST (test_one_file)
|
|||
g_object_set (G_OBJECT (sink), "file-name", file_name, NULL);
|
||||
|
||||
g_object_get (sink,
|
||||
"location", &res_location,
|
||||
"file-name", &res_file_name,
|
||||
NULL);
|
||||
"location", &res_location, "file-name", &res_file_name, NULL);
|
||||
|
||||
fail_unless (strncmp (res_location, location, strlen (location))
|
||||
== 0);
|
||||
|
@ -270,20 +255,19 @@ GST_START_TEST (test_one_file)
|
|||
/* verify file content */
|
||||
test_verify_file_data ("/tmp", file_name, file_content);
|
||||
}
|
||||
|
||||
GST_END_TEST;
|
||||
|
||||
GST_START_TEST (test_one_big_file)
|
||||
{
|
||||
GstElement *sink;
|
||||
GstCaps *caps;
|
||||
const gchar *location= "file:///tmp/";
|
||||
const gchar *location = "file:///tmp/";
|
||||
gchar *file_name = g_strdup_printf ("curlfilesink_%d", g_random_int ());
|
||||
const gchar *file_line1 = "line 1\r\n";
|
||||
const gchar *file_line2 = "line 2\r\n";
|
||||
const gchar *file_line3 = "line 3\r\n";
|
||||
const gchar *expected_file_content = "line 1\r\n" \
|
||||
"line 2\r\n" \
|
||||
"line 3\r\n";
|
||||
const gchar *expected_file_content = "line 1\r\n" "line 2\r\n" "line 3\r\n";
|
||||
gchar *res_location = NULL;
|
||||
gchar *res_file_name = NULL;
|
||||
|
||||
|
@ -293,9 +277,7 @@ GST_START_TEST (test_one_big_file)
|
|||
g_object_set (G_OBJECT (sink), "file-name", file_name, NULL);
|
||||
|
||||
g_object_get (sink,
|
||||
"location", &res_location,
|
||||
"file-name", &res_file_name,
|
||||
NULL);
|
||||
"location", &res_location, "file-name", &res_file_name, NULL);
|
||||
|
||||
fail_unless (strncmp (res_location, location, strlen (location))
|
||||
== 0);
|
||||
|
@ -329,13 +311,14 @@ GST_START_TEST (test_one_big_file)
|
|||
/* verify file content */
|
||||
test_verify_file_data ("/tmp", file_name, expected_file_content);
|
||||
}
|
||||
|
||||
GST_END_TEST;
|
||||
|
||||
GST_START_TEST (test_two_files)
|
||||
{
|
||||
GstElement *sink;
|
||||
GstCaps *caps;
|
||||
const gchar *location= "file:///tmp/";
|
||||
const gchar *location = "file:///tmp/";
|
||||
gchar *file_name1 = g_strdup_printf ("curlfilesink_%d", g_random_int ());
|
||||
gchar *file_name2 = g_strdup_printf ("curlfilesink_%d", g_random_int ());
|
||||
const gchar *file_content1 = "file content 1\r\n";
|
||||
|
@ -349,9 +332,7 @@ GST_START_TEST (test_two_files)
|
|||
g_object_set (G_OBJECT (sink), "file-name", file_name1, NULL);
|
||||
|
||||
g_object_get (sink,
|
||||
"location", &res_location,
|
||||
"file-name", &res_file_name,
|
||||
NULL);
|
||||
"location", &res_location, "file-name", &res_file_name, NULL);
|
||||
|
||||
fail_unless (strncmp (res_location, location, strlen (location))
|
||||
== 0);
|
||||
|
@ -389,6 +370,7 @@ GST_START_TEST (test_two_files)
|
|||
test_verify_file_data ("/tmp", file_name1, file_content1);
|
||||
test_verify_file_data ("/tmp", file_name2, file_content2);
|
||||
}
|
||||
|
||||
GST_END_TEST;
|
||||
|
||||
GST_START_TEST (test_create_dirs)
|
||||
|
@ -442,13 +424,14 @@ GST_START_TEST (test_create_dirs)
|
|||
g_free (sub_dir);
|
||||
g_free (tmp_dir);
|
||||
}
|
||||
|
||||
GST_END_TEST;
|
||||
|
||||
GST_START_TEST (test_missing_path)
|
||||
{
|
||||
GstElement *sink;
|
||||
GstCaps *caps;
|
||||
const gchar *location= "file:///missing/path/";
|
||||
const gchar *location = "file:///missing/path/";
|
||||
gchar *file_name = g_strdup_printf ("curlfilesink_%d", g_random_int ());
|
||||
const gchar *file_content = "line 1\r\n";
|
||||
gchar *res_location = NULL;
|
||||
|
@ -460,9 +443,7 @@ GST_START_TEST (test_missing_path)
|
|||
g_object_set (G_OBJECT (sink), "file-name", file_name, NULL);
|
||||
|
||||
g_object_get (sink,
|
||||
"location", &res_location,
|
||||
"file-name", &res_file_name,
|
||||
NULL);
|
||||
"location", &res_location, "file-name", &res_file_name, NULL);
|
||||
|
||||
fail_unless (strncmp (res_location, location, strlen (location))
|
||||
== 0);
|
||||
|
@ -487,6 +468,7 @@ GST_START_TEST (test_missing_path)
|
|||
gst_caps_unref (caps);
|
||||
cleanup_curlfilesink (sink);
|
||||
}
|
||||
|
||||
GST_END_TEST;
|
||||
|
||||
static Suite *
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#define GST_LICENSE "LGPL"
|
||||
|
||||
/* package name in plugins */
|
||||
#define GST_PACKAGE_NAME "GStreamer Bad Plug-ins source release"
|
||||
#define GST_PACKAGE_NAME "GStreamer Bad Plug-ins git"
|
||||
|
||||
/* package origin */
|
||||
#define GST_PACKAGE_ORIGIN "Unknown package origin"
|
||||
|
@ -199,7 +199,7 @@
|
|||
#undef USE_POISONING
|
||||
|
||||
/* Version number of package */
|
||||
#define VERSION "0.11.92"
|
||||
#define VERSION "0.11.92.1"
|
||||
|
||||
/* Define to 1 if your processor stores words with the most significant byte
|
||||
first (like Motorola and SPARC, unlike Intel and VAX). */
|
||||
|
|
Loading…
Reference in a new issue