Send seek event to baseparse when aacparse seek failed in push mode
[platform/upstream/gst-plugins-good.git] / gst / audioparsers / gstaacparse.c
index 6ec3a75..cd15f01 100644 (file)
@@ -2139,9 +2139,14 @@ gst_aac_parse_adts_src_eventfunc (GstBaseParse * parse, GstEvent * event)
         GstPad *srcpad = parse->srcpad;
         GST_INFO_OBJECT (aacparse, "aac parser is PUSH MODE.");
         /* check NULL */
-        if (aacparse->byte_seekable)
-          return gst_aac_audio_parse_do_push_seek (parse, srcpad, event);
-
+        if (aacparse->byte_seekable) {
+          ret = gst_aac_audio_parse_do_push_seek (parse, srcpad, event);
+          if (!ret) {
+            GST_INFO_OBJECT (aacparse, "PUSH mode seek() failed, Trying base seek()");
+            goto aac_seek_null_exit;
+          }
+          return ret;
+        }
         GST_INFO_OBJECT (aacparse, "not support byte seek");
         goto aac_seek_null_exit;
       }