@@ -0,0 +1,35 @@
+Allow to override default property values for a new playbin object.
+ GST_PLAYBIN_FLAGS for flags
+ GST_PLAYBIN_BUFFER_SIZE for buffer_size
+--- a/gst/playback/gstplaybin2.c Mon Dec 31 16:18:13 2018
++++ b/gst/playback/gstplaybin2.c Mon Dec 31 16:25:40 2018
+@@ -1558,7 +1558,13 @@
+ g_object_new (GST_TYPE_PLAY_SINK, "name", "playsink", "send-event-mode",
+ 1, NULL);
+ gst_bin_add (GST_BIN_CAST (playbin), GST_ELEMENT_CAST (playbin->playsink));
+- gst_play_sink_set_flags (playbin->playsink, DEFAULT_FLAGS);
++
++ GstPlayFlags flags = DEFAULT_FLAGS;
++ char * eflags = g_getenv("GST_PLAYBIN_FLAGS");
++ if(eflags != NULL)
++ flags = strtoll(eflags);
++ gst_play_sink_set_flags (playbin->playsink, flags);
++
+ /* Connect to notify::volume and notify::mute signals for proxying */
+ g_signal_connect (playbin->playsink, "notify::volume",
+ G_CALLBACK (notify_volume_cb), playbin);
+@@ -1572,7 +1578,13 @@
+ playbin->current_text = DEFAULT_CURRENT_TEXT;
+
+ playbin->buffer_duration = DEFAULT_BUFFER_DURATION;
+- playbin->buffer_size = DEFAULT_BUFFER_SIZE;
++
++ gint buffer_size = DEFAULT_BUFFER_SIZE;
++ char * ebs = g_getenv("GST_PLAYBIN_BUFFER_SIZE");
++ if(ebs != NULL)
++ buffer_size = strtoll(ebs);
++ playbin->buffer_size = buffer_size;
++
+ playbin->ring_buffer_max_size = DEFAULT_RING_BUFFER_MAX_SIZE;
+
+ playbin->force_aspect_ratio = TRUE;
|