tools: play: set playbin to NULL state on error to flush messages

Just flushing the bus doesn't work here for some reason, so set
playbin to NULL state, which seems to clear all error state and
makes sure we do play the next playable song and don't pick up
'ghost' error messages from previous files on the bus.
This commit is contained in:
Tim-Philipp Müller 2013-09-07 19:14:50 +01:00
parent 8492b956cd
commit 9613f79c1e

View file

@ -240,6 +240,9 @@ play_bus_msg (GstBus * bus, GstMessage * msg, gpointer user_data)
g_error_free (err);
g_free (dbg);
/* flush any other error messages from the bus and clean up */
gst_element_set_state (play->playbin, GST_STATE_NULL);
if (play->missing != NULL && play_install_missing_plugins (play)) {
g_print ("New plugins installed, trying again...\n");
--play->cur_idx;