avplay.c File Reference
#include "config.h"
#include <inttypes.h>
#include <math.h>
#include <limits.h>
#include "libavutil/avstring.h"
#include "libavutil/colorspace.h"
#include "libavutil/mathematics.h"
#include "libavutil/pixdesc.h"
#include "libavutil/imgutils.h"
#include "libavutil/dict.h"
#include "libavutil/parseutils.h"
#include "libavutil/samplefmt.h"
#include "libavformat/avformat.h"
#include "libavdevice/avdevice.h"
#include "libswscale/swscale.h"
#include "libavcodec/audioconvert.h"
#include "libavutil/opt.h"
#include "libavcodec/avfft.h"
#include "cmdutils.h"
#include <SDL.h>
#include <SDL_thread.h>
#include <unistd.h>
#include <assert.h>
#include "cmdutils_common_opts.h"

Go to the source code of this file.

Data Structures

struct  PacketQueue
struct  VideoPicture
struct  SubPicture
struct  VideoState

Macros

#define MAX_QUEUE_SIZE   (15 * 1024 * 1024)
#define MIN_AUDIOQ_SIZE   (20 * 16 * 1024)
#define MIN_FRAMES   5
#define SDL_AUDIO_BUFFER_SIZE   1024
#define AV_SYNC_THRESHOLD   0.01
#define AV_NOSYNC_THRESHOLD   10.0
#define FRAME_SKIP_FACTOR   0.05
#define SAMPLE_CORRECTION_PERCENT_MAX   10
#define AUDIO_DIFF_AVG_NB   20
#define SAMPLE_ARRAY_SIZE   (2 * 65536)
#define VIDEO_PICTURE_QUEUE_SIZE   2
#define SUBPICTURE_QUEUE_SIZE   4
#define FF_ALLOC_EVENT   (SDL_USEREVENT)
#define FF_REFRESH_EVENT   (SDL_USEREVENT + 1)
#define FF_QUIT_EVENT   (SDL_USEREVENT + 2)
#define ALPHA_BLEND(a, oldp, newp, s)   ((((oldp << s) * (255 - (a))) + (newp * (a))) / (255 << s))
#define RGBA_IN(r, g, b, a, s)
#define YUVA_IN(y, u, v, a, s, pal)
#define YUVA_OUT(d, y, u, v, a)
#define BPP   1

Typedefs

typedef struct PacketQueue PacketQueue
typedef struct VideoPicture VideoPicture
typedef struct SubPicture SubPicture
typedef struct VideoState VideoState

Enumerations

enum  { AV_SYNC_AUDIO_MASTER, AV_SYNC_VIDEO_MASTER, AV_SYNC_EXTERNAL_CLOCK }

Functions

static void show_help (void)
void exit_program (int ret)
 Do all the necessary cleanup and abort.
static int packet_queue_put (PacketQueue *q, AVPacket *pkt)
static void packet_queue_init (PacketQueue *q)
static void packet_queue_flush (PacketQueue *q)
static void packet_queue_end (PacketQueue *q)
static void packet_queue_abort (PacketQueue *q)
static int packet_queue_get (PacketQueue *q, AVPacket *pkt, int block)
static void fill_rectangle (SDL_Surface *screen, int x, int y, int w, int h, int color)
static void blend_subrect (AVPicture *dst, const AVSubtitleRect *rect, int imgw, int imgh)
static void free_subpicture (SubPicture *sp)
static void video_image_display (VideoState *is)
static int audio_write_get_buf_size (VideoState *is)
static int compute_mod (int a, int b)
static void video_audio_display (VideoState *s)
static int video_open (VideoState *is)
static void video_display (VideoState *is)
static int refresh_thread (void *opaque)
static double get_audio_clock (VideoState *is)
static double get_video_clock (VideoState *is)
static double get_external_clock (VideoState *is)
static double get_master_clock (VideoState *is)
static void stream_seek (VideoState *is, int64_t pos, int64_t rel, int seek_by_bytes)
static void stream_pause (VideoState *is)
static double compute_target_time (double frame_current_pts, VideoState *is)
static void video_refresh_timer (void *opaque)
static void stream_close (VideoState *is)
static void do_exit (void)
static void alloc_picture (void *opaque)
static int queue_picture (VideoState *is, AVFrame *src_frame, double pts, int64_t pos)
static int output_picture2 (VideoState *is, AVFrame *src_frame, double pts1, int64_t pos)
 compute the exact PTS for the picture if it is omitted in the stream
static int get_video_frame (VideoState *is, AVFrame *frame, int64_t *pts, AVPacket *pkt)
static int video_thread (void *arg)
static int subtitle_thread (void *arg)
static void update_sample_display (VideoState *is, short *samples, int samples_size)
static int synchronize_audio (VideoState *is, short *samples, int samples_size1, double pts)
static int audio_decode_frame (VideoState *is, double *pts_ptr)
static void sdl_audio_callback (void *opaque, Uint8 *stream, int len)
static int stream_component_open (VideoState *is, int stream_index)
static void stream_component_close (VideoState *is, int stream_index)
static int decode_interrupt_cb (void *ctx)
static int decode_thread (void *arg)
static VideoStatestream_open (const char *filename, AVInputFormat *iformat)
static void stream_cycle_channel (VideoState *is, int codec_type)
static void toggle_full_screen (void)
static void toggle_pause (void)
static void step_to_next_frame (void)
static void toggle_audio_display (void)
static void event_loop (void)
static int opt_frame_size (const char *opt, const char *arg)
static int opt_width (const char *opt, const char *arg)
static int opt_height (const char *opt, const char *arg)
static int opt_format (const char *opt, const char *arg)
static int opt_frame_pix_fmt (const char *opt, const char *arg)
static int opt_sync (const char *opt, const char *arg)
static int opt_seek (const char *opt, const char *arg)
static int opt_duration (const char *opt, const char *arg)
static int opt_debug (const char *opt, const char *arg)
static int opt_vismv (const char *opt, const char *arg)
static void show_usage (void)
static void opt_input_file (void *optctx, const char *filename)
int main (int argc, char **argv)

Variables

const char program_name [] = "avplay"
 program name, defined by the program for show_version().
const int program_birth_year = 2003
 program birth year, defined by the program for show_banner()
static int sws_flags = SWS_BICUBIC
static AVInputFormatfile_iformat
static const char * input_filename
static const char * window_title
static int fs_screen_width
static int fs_screen_height
static int screen_width = 0
static int screen_height = 0
static int audio_disable
static int video_disable
static int wanted_stream [AVMEDIA_TYPE_NB]
static int seek_by_bytes = -1
static int display_disable
static int show_status = 1
static int av_sync_type = AV_SYNC_AUDIO_MASTER
static int64_t start_time = AV_NOPTS_VALUE
static int64_t duration = AV_NOPTS_VALUE
static int debug = 0
static int debug_mv = 0
static int step = 0
static int workaround_bugs = 1
static int fast = 0
static int genpts = 0
static int lowres = 0
static int idct = FF_IDCT_AUTO
static enum AVDiscard skip_frame = AVDISCARD_DEFAULT
static enum AVDiscard skip_idct = AVDISCARD_DEFAULT
static enum AVDiscard skip_loop_filter = AVDISCARD_DEFAULT
static int error_recognition = FF_ER_CAREFUL
static int error_concealment = 3
static int decoder_reorder_pts = -1
static int autoexit
static int exit_on_keydown
static int exit_on_mousedown
static int loop = 1
static int framedrop = 1
static int rdftspeed = 20
static int is_full_screen
static VideoStatecur_stream
static int64_t audio_callback_time
static AVPacket flush_pkt
static SDL_Surface * screen
static VideoStateglobal_video_state
static const OptionDef options []

Macro Definition Documentation

#define ALPHA_BLEND (   a,
  oldp,
  newp,
 
)    ((((oldp << s) * (255 - (a))) + (newp * (a))) / (255 << s))

Definition at line 410 of file avplay.c.

Referenced by blend_subrect().

#define AUDIO_DIFF_AVG_NB   20

Definition at line 80 of file avplay.c.

Referenced by stream_component_open(), and synchronize_audio().

#define AV_NOSYNC_THRESHOLD   10.0

Definition at line 72 of file avplay.c.

Referenced by compute_target_time(), and synchronize_audio().

#define AV_SYNC_THRESHOLD   0.01

Definition at line 70 of file avplay.c.

Referenced by compute_target_time().

#define BPP   1

Definition at line 437 of file avplay.c.

Referenced by blend_subrect().

#define FF_ALLOC_EVENT   (SDL_USEREVENT)

Definition at line 274 of file avplay.c.

Referenced by event_loop(), and queue_picture().

#define FF_QUIT_EVENT   (SDL_USEREVENT + 2)

Definition at line 276 of file avplay.c.

Referenced by decode_thread(), and event_loop().

#define FF_REFRESH_EVENT   (SDL_USEREVENT + 1)

Definition at line 275 of file avplay.c.

Referenced by event_loop(), and refresh_thread().

#define FRAME_SKIP_FACTOR   0.05

Definition at line 74 of file avplay.c.

Referenced by queue_picture(), and video_refresh_timer().

#define MAX_QUEUE_SIZE   (15 * 1024 * 1024)

Definition at line 61 of file avplay.c.

Referenced by decode_thread().

#define MIN_AUDIOQ_SIZE   (20 * 16 * 1024)

Definition at line 62 of file avplay.c.

Referenced by decode_thread().

#define MIN_FRAMES   5

Definition at line 63 of file avplay.c.

Referenced by decode_thread().

#define RGBA_IN (   r,
  g,
  b,
  a,
 
)
Value:
{\
unsigned int v = ((const uint32_t *)(s))[0];\
a = (v >> 24) & 0xff;\
r = (v >> 16) & 0xff;\
g = (v >> 8) & 0xff;\
b = v & 0xff;\
}

Definition at line 413 of file avplay.c.

Referenced by subtitle_thread().

#define SAMPLE_ARRAY_SIZE   (2 * 65536)

Definition at line 83 of file avplay.c.

Referenced by update_sample_display(), and video_audio_display().

#define SAMPLE_CORRECTION_PERCENT_MAX   10

Definition at line 77 of file avplay.c.

Referenced by synchronize_audio().

#define SDL_AUDIO_BUFFER_SIZE   1024

Definition at line 67 of file avplay.c.

Referenced by stream_component_open().

#define SUBPICTURE_QUEUE_SIZE   4

Definition at line 97 of file avplay.c.

Referenced by subtitle_thread(), and video_refresh_timer().

#define VIDEO_PICTURE_QUEUE_SIZE   2
#define YUVA_IN (   y,
  u,
  v,
  a,
  s,
  pal 
)
Value:
{\
unsigned int val = ((const uint32_t *)(pal))[*(const uint8_t*)(s)];\
a = (val >> 24) & 0xff;\
y = (val >> 16) & 0xff;\
u = (val >> 8) & 0xff;\
v = val & 0xff;\
}

Definition at line 422 of file avplay.c.

Referenced by blend_subrect().

#define YUVA_OUT (   d,
  y,
  u,
  v,
 
)
Value:
{\
((uint32_t *)(d))[0] = (a << 24) | (y << 16) | (u << 8) | v;\
}

Definition at line 431 of file avplay.c.

Referenced by subtitle_thread().

Typedef Documentation

typedef struct PacketQueue PacketQueue
typedef struct SubPicture SubPicture
typedef struct VideoPicture VideoPicture
typedef struct VideoState VideoState

Enumeration Type Documentation

anonymous enum
Enumerator:
AV_SYNC_AUDIO_MASTER 
AV_SYNC_VIDEO_MASTER 
AV_SYNC_EXTERNAL_CLOCK 

Definition at line 119 of file avplay.c.

Function Documentation

static void alloc_picture ( void opaque)
static

Definition at line 1272 of file avplay.c.

Referenced by event_loop(), and open_video().

static int audio_decode_frame ( VideoState is,
double *  pts_ptr 
)
static

Definition at line 2007 of file avplay.c.

Referenced by sdl_audio_callback().

static int audio_write_get_buf_size ( VideoState is)
static

Definition at line 723 of file avplay.c.

Referenced by get_audio_clock(), and video_audio_display().

static void blend_subrect ( AVPicture dst,
const AVSubtitleRect rect,
int  imgw,
int  imgh 
)
static

Definition at line 439 of file avplay.c.

Referenced by video_image_display().

static int compute_mod ( int  a,
int  b 
)
inlinestatic

Definition at line 728 of file avplay.c.

Referenced by video_audio_display().

static double compute_target_time ( double  frame_current_pts,
VideoState is 
)
static

Definition at line 1036 of file avplay.c.

Referenced by queue_picture().

static int decode_interrupt_cb ( void ctx)
static

Definition at line 2348 of file avplay.c.

Referenced by decode_thread().

static int decode_thread ( void arg)
static

Definition at line 2354 of file avplay.c.

Referenced by stream_open().

static void do_exit ( void  )
static

Definition at line 1252 of file avplay.c.

Referenced by alloc_picture(), and event_loop().

static void event_loop ( void  )
static

Definition at line 2733 of file avplay.c.

Referenced by main().

void exit_program ( int  ret)

Do all the necessary cleanup and abort.

This function is implemented in the avtools, not cmdutils.

Definition at line 280 of file avplay.c.

static void free_subpicture ( SubPicture sp)
static

Definition at line 639 of file avplay.c.

Referenced by video_refresh_timer().

static double get_audio_clock ( VideoState is)
static

Definition at line 955 of file avplay.c.

Referenced by get_master_clock(), synchronize_audio(), and video_refresh_timer().

static double get_external_clock ( VideoState is)
static

Definition at line 982 of file avplay.c.

Referenced by get_master_clock().

static double get_master_clock ( VideoState is)
static

Definition at line 990 of file avplay.c.

Referenced by compute_target_time(), event_loop(), synchronize_audio(), and video_refresh_timer().

static double get_video_clock ( VideoState is)
static

Definition at line 972 of file avplay.c.

Referenced by compute_target_time(), get_master_clock(), and video_refresh_timer().

static int get_video_frame ( VideoState is,
AVFrame frame,
int64_t *  pts,
AVPacket pkt 
)
static

Definition at line 1463 of file avplay.c.

Referenced by video_thread().

int main ( int  argc,
char **  argv 
)

Definition at line 3051 of file avplay.c.

static int opt_debug ( const char *  opt,
const char *  arg 
)
static

Definition at line 2942 of file avplay.c.

static int opt_duration ( const char *  opt,
const char *  arg 
)
static

Definition at line 2936 of file avplay.c.

static int opt_format ( const char *  opt,
const char *  arg 
)
static

Definition at line 2898 of file avplay.c.

static int opt_frame_pix_fmt ( const char *  opt,
const char *  arg 
)
static

Definition at line 2908 of file avplay.c.

static int opt_frame_size ( const char *  opt,
const char *  arg 
)
static

Definition at line 2879 of file avplay.c.

static int opt_height ( const char *  opt,
const char *  arg 
)
static

Definition at line 2892 of file avplay.c.

static void opt_input_file ( void optctx,
const char *  filename 
)
static

Definition at line 3038 of file avplay.c.

Referenced by main().

static int opt_seek ( const char *  opt,
const char *  arg 
)
static

Definition at line 2930 of file avplay.c.

static int opt_sync ( const char *  opt,
const char *  arg 
)
static

Definition at line 2915 of file avplay.c.

static int opt_vismv ( const char *  opt,
const char *  arg 
)
static

Definition at line 2949 of file avplay.c.

static int opt_width ( const char *  opt,
const char *  arg 
)
static

Definition at line 2886 of file avplay.c.

static int output_picture2 ( VideoState is,
AVFrame src_frame,
double  pts1,
int64_t  pos 
)
static

compute the exact PTS for the picture if it is omitted in the stream

Parameters
pts1the dts of the pkt / pts of the frame

Definition at line 1441 of file avplay.c.

Referenced by video_thread().

static void packet_queue_abort ( PacketQueue q)
static

Definition at line 352 of file avplay.c.

Referenced by stream_component_close().

static void packet_queue_end ( PacketQueue q)
static

Definition at line 313 of file avplay.c.

Referenced by stream_component_close().

static void packet_queue_flush ( PacketQueue q)
static

Definition at line 296 of file avplay.c.

Referenced by decode_thread(), and packet_queue_end().

static int packet_queue_get ( PacketQueue q,
AVPacket pkt,
int  block 
)
static

Definition at line 364 of file avplay.c.

Referenced by audio_decode_frame(), get_video_frame(), and subtitle_thread().

static void packet_queue_init ( PacketQueue q)
static

Definition at line 288 of file avplay.c.

Referenced by stream_component_open().

static int packet_queue_put ( PacketQueue q,
AVPacket pkt 
)
static

Definition at line 320 of file avplay.c.

Referenced by decode_thread(), and packet_queue_init().

static int queue_picture ( VideoState is,
AVFrame src_frame,
double  pts,
int64_t  pos 
)
static
Parameters
ptsthe dts of the pkt / pts of the frame and guessed if not known

Definition at line 1318 of file avplay.c.

Referenced by output_picture2().

static int refresh_thread ( void opaque)
static

Definition at line 938 of file avplay.c.

Referenced by decode_thread().

static void sdl_audio_callback ( void opaque,
Uint8 *  stream,
int  len 
)
static

Definition at line 2130 of file avplay.c.

Referenced by stream_component_open().

static void show_help ( void  )
static

Definition at line 3009 of file avplay.c.

static void show_usage ( void  )
static

Definition at line 3002 of file avplay.c.

Referenced by main(), and show_help().

static void step_to_next_frame ( void  )
static

Definition at line 2710 of file avplay.c.

Referenced by event_loop().

static void stream_close ( VideoState is)
static

Definition at line 1218 of file avplay.c.

Referenced by do_exit().

static void stream_component_close ( VideoState is,
int  stream_index 
)
static

Definition at line 2261 of file avplay.c.

Referenced by decode_thread(), and stream_cycle_channel().

static int stream_component_open ( VideoState is,
int  stream_index 
)
static

Definition at line 2165 of file avplay.c.

Referenced by decode_thread(), and stream_cycle_channel().

static void stream_cycle_channel ( VideoState is,
int  codec_type 
)
static

Definition at line 2641 of file avplay.c.

Referenced by event_loop().

static VideoState* stream_open ( const char *  filename,
AVInputFormat iformat 
)
static

Definition at line 2613 of file avplay.c.

Referenced by main().

static void stream_pause ( VideoState is)
static

Definition at line 1024 of file avplay.c.

Referenced by step_to_next_frame(), toggle_pause(), and video_thread().

static void stream_seek ( VideoState is,
int64_t  pos,
int64_t  rel,
int  seek_by_bytes 
)
static

Definition at line 1011 of file avplay.c.

Referenced by decode_thread(), and event_loop().

static int subtitle_thread ( void arg)
static

Definition at line 1843 of file avplay.c.

Referenced by stream_component_open().

static int synchronize_audio ( VideoState is,
short *  samples,
int  samples_size1,
double  pts 
)
static

Definition at line 1933 of file avplay.c.

Referenced by sdl_audio_callback().

static void toggle_audio_display ( void  )
static

Definition at line 2720 of file avplay.c.

Referenced by event_loop().

static void toggle_full_screen ( void  )
static

Definition at line 2691 of file avplay.c.

Referenced by event_loop().

static void toggle_pause ( void  )
static

Definition at line 2703 of file avplay.c.

Referenced by event_loop().

static void update_sample_display ( VideoState is,
short *  samples,
int  samples_size 
)
static

Definition at line 1913 of file avplay.c.

Referenced by sdl_audio_callback().

static void video_audio_display ( VideoState s)
static

Definition at line 737 of file avplay.c.

Referenced by video_display().

static void video_display ( VideoState is)
static

Definition at line 928 of file avplay.c.

Referenced by video_refresh_timer().

static void video_image_display ( VideoState is)
static

Definition at line 644 of file avplay.c.

Referenced by video_display().

static int video_open ( VideoState is)
static

Definition at line 876 of file avplay.c.

Referenced by event_loop(), toggle_full_screen(), and video_display().

static void video_refresh_timer ( void opaque)
static

Definition at line 1077 of file avplay.c.

Referenced by event_loop().

static int video_thread ( void arg)
static

Definition at line 1753 of file avplay.c.

Referenced by stream_component_open().

Variable Documentation

int64_t audio_callback_time
static

Definition at line 270 of file avplay.c.

Referenced by sdl_audio_callback(), and video_audio_display().

int audio_disable
static

Definition at line 229 of file avplay.c.

Referenced by decode_thread().

int autoexit
static

Definition at line 256 of file avplay.c.

Referenced by decode_thread().

int av_sync_type = AV_SYNC_AUDIO_MASTER
static

Definition at line 239 of file avplay.c.

Referenced by opt_sync(), and stream_open().

VideoState* cur_stream
static

Definition at line 269 of file avplay.c.

int debug = 0
static

Definition at line 242 of file avplay.c.

Referenced by opt_debug(), and stream_component_open().

int debug_mv = 0
static

Definition at line 243 of file avplay.c.

Referenced by opt_vismv(), and stream_component_open().

int decoder_reorder_pts = -1
static

Definition at line 255 of file avplay.c.

Referenced by get_video_frame().

int display_disable
static

Definition at line 237 of file avplay.c.

Referenced by decode_thread(), main(), and video_refresh_timer().

int error_concealment = 3
static

Definition at line 254 of file avplay.c.

Referenced by stream_component_open().

int error_recognition = FF_ER_CAREFUL
static

Definition at line 253 of file avplay.c.

Referenced by stream_component_open().

int exit_on_keydown
static

Definition at line 257 of file avplay.c.

Referenced by event_loop().

int exit_on_mousedown
static

Definition at line 258 of file avplay.c.

Referenced by event_loop().

int fast = 0
static

Definition at line 246 of file avplay.c.

Referenced by stream_component_open().

AVInputFormat* file_iformat
static

Definition at line 222 of file avplay.c.

Referenced by opt_input_file().

AVPacket flush_pkt
static

Definition at line 272 of file avplay.c.

int framedrop = 1
static

Definition at line 260 of file avplay.c.

Referenced by video_refresh_timer().

int fs_screen_height
static

Definition at line 226 of file avplay.c.

Referenced by main(), and video_open().

int fs_screen_width
static

Definition at line 225 of file avplay.c.

Referenced by main(), and video_open().

int genpts = 0
static

Definition at line 247 of file avplay.c.

Referenced by av_read_frame(), and decode_thread().

VideoState* global_video_state
static

Definition at line 2346 of file avplay.c.

int idct = FF_IDCT_AUTO
static

Definition at line 249 of file avplay.c.

Referenced by stream_component_open().

const char* input_filename
static

Definition at line 223 of file avplay.c.

Referenced by main(), open_input_stream(), opt_input_file(), and video_open().

int is_full_screen
static

Definition at line 268 of file avplay.c.

Referenced by toggle_full_screen(), and video_open().

int loop = 1
static

Definition at line 259 of file avplay.c.

Referenced by decode_thread().

const OptionDef options[]
static

Definition at line 2955 of file avplay.c.

const int program_birth_year = 2003

program birth year, defined by the program for show_banner()

Definition at line 59 of file avplay.c.

const char program_name[] = "avplay"

program name, defined by the program for show_version().

Definition at line 58 of file avplay.c.

int rdftspeed = 20
static

Definition at line 262 of file avplay.c.

Referenced by refresh_thread().

int screen_height = 0
static

Definition at line 228 of file avplay.c.

Referenced by event_loop(), opt_height(), and video_open().

int screen_width = 0
static

Definition at line 227 of file avplay.c.

Referenced by event_loop(), opt_width(), and video_open().

int seek_by_bytes = -1
static

Definition at line 236 of file avplay.c.

Referenced by decode_thread(), and event_loop().

int show_status = 1
static

Definition at line 238 of file avplay.c.

Referenced by decode_thread(), do_exit(), and video_refresh_timer().

enum AVDiscard skip_frame = AVDISCARD_DEFAULT
static

Definition at line 250 of file avplay.c.

Referenced by stream_component_open().

enum AVDiscard skip_idct = AVDISCARD_DEFAULT
static

Definition at line 251 of file avplay.c.

Referenced by MPV_decode_mb_internal(), and stream_component_open().

enum AVDiscard skip_loop_filter = AVDISCARD_DEFAULT
static

Definition at line 252 of file avplay.c.

Referenced by stream_component_open(), and update_context_from_user().

int sws_flags = SWS_BICUBIC
static
Examples:
libavformat/output-example.c.

Definition at line 85 of file avplay.c.

Referenced by queue_picture().

int video_disable
static

Definition at line 230 of file avplay.c.

Referenced by decode_thread(), and main().

int wanted_stream[AVMEDIA_TYPE_NB]
static
Initial value:

Definition at line 231 of file avplay.c.

Referenced by decode_thread().

const char* window_title
static

Definition at line 224 of file avplay.c.

Referenced by video_open().

int workaround_bugs = 1
static

Definition at line 245 of file avplay.c.

Referenced by stream_component_open().