dashdemux: Just reset SIDX parser if the index is invalid for the current segment

https://bugzilla.gnome.org/show_bug.cgi?id=780108
diff --git a/ext/dash/gstdashdemux.c b/ext/dash/gstdashdemux.c
index 1cc51f2..d28a3e2 100644
--- a/ext/dash/gstdashdemux.c
+++ b/ext/dash/gstdashdemux.c
@@ -1347,8 +1347,8 @@
           final_ts);
       if (SIDX (dashstream)->entry_index >= SIDX (dashstream)->entries_count) {
         GST_ERROR_OBJECT (stream->pad, "Couldn't find position in sidx");
-        dashstream->sidx_parser.status = GST_ISOFF_PARSER_UNEXPECTED;
         dashstream->sidx_position = GST_CLOCK_TIME_NONE;
+        gst_isoff_sidx_parser_clear (&dashstream->sidx_parser);
       }
     } else {
       /* no index yet, seek when we have it */
@@ -2287,8 +2287,8 @@
           if (SIDX (dash_stream)->entry_index >=
               SIDX (dash_stream)->entries_count) {
             GST_ERROR_OBJECT (stream->pad, "Couldn't find position in sidx");
-            dash_stream->sidx_parser.status = GST_ISOFF_PARSER_UNEXPECTED;
             dash_stream->sidx_position = GST_CLOCK_TIME_NONE;
+            gst_isoff_sidx_parser_clear (&dash_stream->sidx_parser);
           }
           /* push buffer up to sidx box, and do pending stream seek  */
           break;
@@ -2771,8 +2771,8 @@
             if (SIDX (dash_stream)->entry_index >=
                 SIDX (dash_stream)->entries_count) {
               GST_ERROR_OBJECT (stream->pad, "Couldn't find position in sidx");
-              dash_stream->sidx_parser.status = GST_ISOFF_PARSER_UNEXPECTED;
               dash_stream->sidx_position = GST_CLOCK_TIME_NONE;
+              gst_isoff_sidx_parser_clear (&dash_stream->sidx_parser);
             }
           } else {
             gint idx = 0;