~ubuntu-branches/ubuntu/natty/vlc/natty

« back to all changes in this revision

Viewing changes to include/vlc_es_out.h

  • Committer: Bazaar Package Importer
  • Author(s): Benjamin Drung
  • Date: 2010-06-25 01:09:16 UTC
  • mfrom: (1.1.30 upstream)
  • Revision ID: james.westby@ubuntu.com-20100625010916-asxhep2mutg6g6pd
Tags: 1.1.0-1ubuntu1
* Merge from Debian unstable, remaining changes:
  - build and install the libx264 plugin
  - add Xb-Npp header to vlc package
  - Add apport hook to include more vlc dependencies in bug reports
* Drop xulrunner patches.
* Drop 502_xulrunner_191.diff.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 * vlc_es_out.h: es_out (demuxer output) descriptor, queries and methods
3
3
 *****************************************************************************
4
4
 * Copyright (C) 1999-2004 the VideoLAN team
5
 
 * $Id: fdde1c935f298af2d0ad27782438109e66ba0ca5 $
 
5
 * $Id: 57fc5c003ad3d319f75c6dcbae650c1f45e50d28 $
6
6
 *
7
7
 * Authors: Laurent Aimar <fenrir@via.ecp.fr>
8
8
 *
34
34
 * @{
35
35
 */
36
36
 
37
 
enum es_out_mode_e
38
 
{
39
 
    ES_OUT_MODE_NONE,   /* don't select anything */
40
 
    ES_OUT_MODE_ALL,    /* eg for stream output */
41
 
    ES_OUT_MODE_AUTO,   /* best audio/video or for input follow audio-track, sub-track */
42
 
    ES_OUT_MODE_PARTIAL /* select programs given after --programs */
43
 
};
44
 
 
45
37
enum es_out_query_e
46
38
{
47
39
    /* set ES selected for the es category (audio/video/spu) */
73
65
 
74
66
    /* Allow preroll of data (data with dts/pts < i_pts for all ES will be decoded but not displayed */
75
67
    ES_OUT_SET_NEXT_DISPLAY_TIME,       /* arg1=int64_t i_pts(microsecond) */
76
 
    /* Set meta data for group (dynamic) */
77
 
    ES_OUT_SET_GROUP_META,  /* arg1=int i_group arg2=vlc_meta_t */
78
 
    /* Set epg for group (dynamic) */
79
 
    ES_OUT_SET_GROUP_EPG,   /* arg1=int i_group arg2=vlc_epg_t */
 
68
    /* Set meta data for group (dynamic) (The vlc_meta_t is not modified nor released) */
 
69
    ES_OUT_SET_GROUP_META,  /* arg1=int i_group arg2=const vlc_meta_t */
 
70
    /* Set epg for group (dynamic) (The vlc_epg_t is not modified nor released) */
 
71
    ES_OUT_SET_GROUP_EPG,   /* arg1=int i_group arg2=const vlc_epg_t */
80
72
    /* */
81
73
    ES_OUT_DEL_GROUP,       /* arg1=int i_group */
82
74
 
93
85
    /* Set global meta data (The vlc_meta_t is not modified nor released) */
94
86
    ES_OUT_SET_META, /* arg1=const vlc_meta_t * */
95
87
 
 
88
    /* PCR system clock manipulation for external clock synchronization */
 
89
    ES_OUT_GET_PCR_SYSTEM, /* arg1=mtime_t *, arg2=mtime_t * res=can fail */
 
90
    ES_OUT_MODIFY_PCR_SYSTEM, /* arg1=int is_absolute, arg2=mtime_t, res=can fail */
 
91
 
96
92
    /* First value usable for private control */
97
93
    ES_OUT_PRIVATE_START = 0x10000,
98
94
};
105
101
    int          (*pf_control)( es_out_t *, int i_query, va_list );
106
102
    void         (*pf_destroy)( es_out_t * );
107
103
 
108
 
    bool         b_sout;
109
 
 
110
104
    es_out_sys_t    *p_sys;
111
105
};
112
106
 
153
147
    return es_out_Control( out, ES_OUT_SET_META, p_meta );
154
148
}
155
149
 
 
150
static inline int es_out_ControlGetPcrSystem( es_out_t *out, mtime_t *pi_system, mtime_t *pi_delay )
 
151
{
 
152
    return es_out_Control( out, ES_OUT_GET_PCR_SYSTEM, pi_system, pi_delay );
 
153
}
 
154
static inline int es_out_ControlModifyPcrSystem( es_out_t *out, bool b_absolute, mtime_t i_system )
 
155
{
 
156
    return es_out_Control( out, ES_OUT_MODIFY_PCR_SYSTEM, b_absolute, i_system );
 
157
}
 
158
 
156
159
/**
157
160
 * @}
158
161
 */