]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/psxstr.c
Merge remote-tracking branch 'qatar/master'
[ffmpeg] / libavformat / psxstr.c
index d657197d6f7b10d63898c98d632be59736958b79..b978e01f418c39c8370f40ef9d448e19d125b5c2 100644 (file)
@@ -258,7 +258,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))
@@ -267,6 +269,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]);
@@ -293,10 +296,11 @@ static int str_read_close(AVFormatContext *s)
 
 AVInputFormat ff_str_demuxer = {
     .name           = "psxstr",
-    .long_name      = NULL_IF_CONFIG_SMALL("Sony Playstation STR format"),
+    .long_name      = NULL_IF_CONFIG_SMALL("Sony Playstation STR"),
     .priv_data_size = sizeof(StrDemuxContext),
     .read_probe     = str_probe,
     .read_header    = str_read_header,
     .read_packet    = str_read_packet,
     .read_close     = str_read_close,
+    .flags          = AVFMT_NO_BYTE_SEEK,
 };