From c0b087e4e998ed860bfbc02315ab7b750b156f28 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Wed, 3 Feb 2021 17:41:42 -0600
Subject: [PATCH] winegstreamer: Reset the push offset in parser_init_stream().

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
---
 dlls/winegstreamer/gstdemux.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/winegstreamer/gstdemux.c b/dlls/winegstreamer/gstdemux.c
index e47b4a30388..45bd2f9a4a9 100644
--- a/dlls/winegstreamer/gstdemux.c
+++ b/dlls/winegstreamer/gstdemux.c
@@ -1464,8 +1464,6 @@ static gboolean activate_push(GstPad *pad, gboolean activate)
             pthread_join(parser->push_thread, NULL);
             parser->push_thread = 0;
         }
-        if (This->filter.state == State_Stopped)
-            parser->next_offset = parser->start_offset;
     } else if (!parser->push_thread) {
         int ret;
 
@@ -1746,6 +1744,8 @@ static HRESULT parser_init_stream(struct strmbase_filter *iface)
     /* DirectShow retains the old seek positions, but resets to them every time
      * it transitions from stopped -> paused. */
 
+    parser->next_offset = parser->start_offset;
+
     seeking = &filter->sources[0]->seek;
     if (seeking->llStop && seeking->llStop != seeking->llDuration)
         stop_type = GST_SEEK_TYPE_SET;
-- 
GitLab