From patchwork Tue Mar 23 14:13:04 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zane van Iperen X-Patchwork-Id: 26567 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 1F28744BC28 for ; Tue, 23 Mar 2021 16:13:53 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0604368ABC9; Tue, 23 Mar 2021 16:13:53 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out2.migadu.com (out2.migadu.com [188.165.223.204]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2D0C968AB55 for ; Tue, 23 Mar 2021 16:13:46 +0200 (EET) X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zanevaniperen.com; s=key1; t=1616508825; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ELZpib16CTtvxjiFwghg4Vn1y1kTrScudnIefdKO0AA=; b=MIARmI7uqrFrdIuHrob4MDLgmVlI3xfEYx7ym9Ouw2pbqMZvNTW+Q1FLHlLS5m5ANkGfUL RkAfUfb7WloEz/NsLgXnhOX7RJ0l2jnkGTr39X2/t6FcL61+AdPaAye9QJvYA2/YV63qCq jTzPcG4i/I7oDjlkKj063tB+dDDnbw2Nbf1IGfgpnx3y5cPnPmy3h2Kk3piMlOGSjjTxV7 gVXYfOFV75ebRFnYXLM0OUlfGDwgIgeDXiZMHpn4003EHPKzib6q6BElm+ijEjX5z46akX NPDcDk3kGV1Pro8o4uNXFMWqiAHGIFDrUFX9xAnd+NKH77/r8tOhm+wTikVpGA== From: Zane van Iperen To: ffmpeg-devel@ffmpeg.org Date: Wed, 24 Mar 2021 00:13:04 +1000 Message-Id: <20210323141305.19229-10-zane@zanevaniperen.com> In-Reply-To: <20210323141305.19229-1-zane@zanevaniperen.com> References: <20210323141305.19229-1-zane@zanevaniperen.com> MIME-Version: 1.0 X-Migadu-Flow: FLOW_OUT X-Migadu-Auth-User: git-morningstar@zanevaniperen.com Subject: [FFmpeg-devel] [PATCH 10/11] avformat/pp_bnk: allow seeking to start X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Zane van Iperen Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Allows "ffplay -loop" to work. Signed-off-by: Zane van Iperen --- libavformat/pp_bnk.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/libavformat/pp_bnk.c b/libavformat/pp_bnk.c index 5c89295d27..07eeca3cd5 100644 --- a/libavformat/pp_bnk.c +++ b/libavformat/pp_bnk.c @@ -313,6 +313,25 @@ static int pp_bnk_read_close(AVFormatContext *s) return 0; } +static int pp_bnk_seek(AVFormatContext *s, int stream_index, + int64_t pts, int flags) +{ + PPBnkCtx *ctx = s->priv_data; + + if (pts != 0) + return AVERROR(EINVAL); + + if (ctx->is_music) { + av_assert0(stream_index == 0); + ctx->tracks[0].bytes_read = 0; + ctx->tracks[1].bytes_read = 0; + } else { + ctx->tracks[stream_index].bytes_read = 0; + } + + return 0; +} + AVInputFormat ff_pp_bnk_demuxer = { .name = "pp_bnk", .long_name = NULL_IF_CONFIG_SMALL("Pro Pinball Series Soundbank"), @@ -320,5 +339,6 @@ AVInputFormat ff_pp_bnk_demuxer = { .read_probe = pp_bnk_probe, .read_header = pp_bnk_read_header, .read_packet = pp_bnk_read_packet, - .read_close = pp_bnk_read_close + .read_close = pp_bnk_read_close, + .read_seek = pp_bnk_seek, };