Commit 95b13fb9 authored by Michael Niedermayer's avatar Michael Niedermayer

Merge remote-tracking branch 'cus/stable'

* cus/stable:
  ffplay: flush subtitle codecs as well with null packets
  ffplay: reorder the filters to ensure that inputs of the custom filters are merged first
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents d92a7253 23e77f0e
...@@ -1727,7 +1727,8 @@ static int get_video_frame(VideoState *is, AVFrame *frame, AVPacket *pkt, int *s ...@@ -1727,7 +1727,8 @@ static int get_video_frame(VideoState *is, AVFrame *frame, AVPacket *pkt, int *s
static int configure_filtergraph(AVFilterGraph *graph, const char *filtergraph, static int configure_filtergraph(AVFilterGraph *graph, const char *filtergraph,
AVFilterContext *source_ctx, AVFilterContext *sink_ctx) AVFilterContext *source_ctx, AVFilterContext *sink_ctx)
{ {
int ret; int ret, i;
int nb_filters = graph->nb_filters;
AVFilterInOut *outputs = NULL, *inputs = NULL; AVFilterInOut *outputs = NULL, *inputs = NULL;
if (filtergraph) { if (filtergraph) {
...@@ -1755,6 +1756,10 @@ static int configure_filtergraph(AVFilterGraph *graph, const char *filtergraph, ...@@ -1755,6 +1756,10 @@ static int configure_filtergraph(AVFilterGraph *graph, const char *filtergraph,
goto fail; goto fail;
} }
/* Reorder the filters to ensure that inputs of the custom filters are merged first */
for (i = 0; i < graph->nb_filters - nb_filters; i++)
FFSWAP(AVFilterContext*, graph->filters[i], graph->filters[i + nb_filters]);
ret = avfilter_graph_config(graph, NULL); ret = avfilter_graph_config(graph, NULL);
fail: fail:
avfilter_inout_free(&outputs); avfilter_inout_free(&outputs);
...@@ -2943,6 +2948,8 @@ static int read_thread(void *arg) ...@@ -2943,6 +2948,8 @@ static int read_thread(void *arg)
packet_queue_put_nullpacket(&is->videoq, is->video_stream); packet_queue_put_nullpacket(&is->videoq, is->video_stream);
if (is->audio_stream >= 0) if (is->audio_stream >= 0)
packet_queue_put_nullpacket(&is->audioq, is->audio_stream); packet_queue_put_nullpacket(&is->audioq, is->audio_stream);
if (is->subtitle_stream >= 0)
packet_queue_put_nullpacket(&is->subtitleq, is->subtitle_stream);
SDL_Delay(10); SDL_Delay(10);
eof=0; eof=0;
continue; continue;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment