mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-02-04 06:08:26 +02:00
avisynth: fix setting packet properties
Reviewed-by: Stephen Hutchinson <qyot27@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Anton Khirnov <anton@khirnov.net>
This commit is contained in:
parent
104a97beaf
commit
c9db8694a8
@ -423,10 +423,10 @@ static void avisynth_next_stream(AVFormatContext *s, AVStream **st,
|
|||||||
{
|
{
|
||||||
AviSynthContext *avs = s->priv_data;
|
AviSynthContext *avs = s->priv_data;
|
||||||
|
|
||||||
pkt->stream_index = avs->curr_stream++;
|
avs->curr_stream++;
|
||||||
avs->curr_stream %= s->nb_streams;
|
avs->curr_stream %= s->nb_streams;
|
||||||
|
|
||||||
*st = s->streams[pkt->stream_index];
|
*st = s->streams[avs->curr_stream];
|
||||||
if ((*st)->discard == AVDISCARD_ALL)
|
if ((*st)->discard == AVDISCARD_ALL)
|
||||||
*discard = 1;
|
*discard = 1;
|
||||||
else
|
else
|
||||||
@ -454,10 +454,6 @@ static int avisynth_read_packet_video(AVFormatContext *s, AVPacket *pkt,
|
|||||||
if (discard)
|
if (discard)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
pkt->pts = n;
|
|
||||||
pkt->dts = n;
|
|
||||||
pkt->duration = 1;
|
|
||||||
|
|
||||||
#ifdef USING_AVISYNTH
|
#ifdef USING_AVISYNTH
|
||||||
/* Define the bpp values for the new AviSynth 2.6 colorspaces.
|
/* Define the bpp values for the new AviSynth 2.6 colorspaces.
|
||||||
* Since AvxSynth doesn't have these functions, special-case
|
* Since AvxSynth doesn't have these functions, special-case
|
||||||
@ -485,6 +481,11 @@ static int avisynth_read_packet_video(AVFormatContext *s, AVPacket *pkt,
|
|||||||
if (av_new_packet(pkt, pkt->size) < 0)
|
if (av_new_packet(pkt, pkt->size) < 0)
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
|
|
||||||
|
pkt->pts = n;
|
||||||
|
pkt->dts = n;
|
||||||
|
pkt->duration = 1;
|
||||||
|
pkt->stream_index = avs->curr_stream;
|
||||||
|
|
||||||
frame = avs_library.avs_get_frame(avs->clip, n);
|
frame = avs_library.avs_get_frame(avs->clip, n);
|
||||||
error = avs_library.avs_clip_get_error(avs->clip);
|
error = avs_library.avs_clip_get_error(avs->clip);
|
||||||
if (error) {
|
if (error) {
|
||||||
@ -561,10 +562,6 @@ static int avisynth_read_packet_audio(AVFormatContext *s, AVPacket *pkt,
|
|||||||
if (discard)
|
if (discard)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
pkt->pts = n;
|
|
||||||
pkt->dts = n;
|
|
||||||
pkt->duration = samples;
|
|
||||||
|
|
||||||
pkt->size = avs_bytes_per_channel_sample(avs->vi) *
|
pkt->size = avs_bytes_per_channel_sample(avs->vi) *
|
||||||
samples * avs->vi->nchannels;
|
samples * avs->vi->nchannels;
|
||||||
if (!pkt->size)
|
if (!pkt->size)
|
||||||
@ -573,6 +570,11 @@ static int avisynth_read_packet_audio(AVFormatContext *s, AVPacket *pkt,
|
|||||||
if (av_new_packet(pkt, pkt->size) < 0)
|
if (av_new_packet(pkt, pkt->size) < 0)
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
|
|
||||||
|
pkt->pts = n;
|
||||||
|
pkt->dts = n;
|
||||||
|
pkt->duration = samples;
|
||||||
|
pkt->stream_index = avs->curr_stream;
|
||||||
|
|
||||||
avs_library.avs_get_audio(avs->clip, pkt->data, n, samples);
|
avs_library.avs_get_audio(avs->clip, pkt->data, n, samples);
|
||||||
error = avs_library.avs_clip_get_error(avs->clip);
|
error = avs_library.avs_clip_get_error(avs->clip);
|
||||||
if (error) {
|
if (error) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user