From 01be6fa926dc3de593756ffd1e09f9523be5fd00 Mon Sep 17 00:00:00 2001
From: Justin Ruggles <justin.ruggles@gmail.com>
Date: Wed, 11 Jan 2012 09:41:06 -0500
Subject: [PATCH] psx-str: fix audio pts

Each packet has 18 sectors with 224/channels samples in each sector.
---
 libavformat/psxstr.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/libavformat/psxstr.c b/libavformat/psxstr.c
index 61e24e204ff..6405c246bd7 100644
--- a/libavformat/psxstr.c
+++ b/libavformat/psxstr.c
@@ -224,7 +224,9 @@ static int str_read_packet(AVFormatContext *s,
             //    st->codec->bit_rate = 0; //FIXME;
                 st->codec->block_align = 128;
 
-                avpriv_set_pts_info(st, 64, 128, st->codec->sample_rate);
+                avpriv_set_pts_info(st, 64, 18 * 224 / st->codec->channels,
+                                    st->codec->sample_rate);
+                st->start_time = 0;
             }
             pkt = ret_pkt;
             if (av_new_packet(pkt, 2304))
@@ -233,6 +235,7 @@ static int str_read_packet(AVFormatContext *s,
 
             pkt->stream_index =
                 str->channels[channel].audio_stream_index;
+            pkt->duration = 1;
             return 0;
         default:
             av_log(s, AV_LOG_WARNING, "Unknown sector type %02X\n", sector[0x12]);
-- 
GitLab