Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Open sidebar
Steve Lhomme
VLC
Commits
1346af34
Commit
1346af34
authored
Jan 19, 2000
by
Vincent Seguin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
API vout_DatePicture termin�e.
parent
4c7b5876
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
50 additions
and
26 deletions
+50
-26
include/video.h
include/video.h
+5
-3
src/video_output/video_output.c
src/video_output/video_output.c
+45
-23
No files found.
include/video.h
View file @
1346af34
...
...
@@ -74,9 +74,11 @@ typedef struct picture_s
/* Pictures status */
#define FREE_PICTURE 0
/* picture is free and not allocated */
#define RESERVED_PICTURE 1
/* picture is allocated and reserved */
#define READY_PICTURE 2
/* picture is ready for display */
#define DISPLAYED_PICTURE 3
/* picture has been displayed but is linked */
#define DESTROYED_PICTURE 4
/* picture is allocated but no more used */
#define RESERVED_DATED_PICTURE 2
/* picture is waiting for DisplayPicture */
#define RESERVED_DISP_PICTURE 3
/* picture is waiting for a DatePixture */
#define READY_PICTURE 4
/* picture is ready for display */
#define DISPLAYED_PICTURE 5
/* picture has been displayed but is linked */
#define DESTROYED_PICTURE 6
/* picture is allocated but no more used */
/* Aspect ratios (ISO/IEC 13818-2 section 6.3.3, table 6-3) */
#define AR_SQUARE_PICTURE 1
/* square pixels */
...
...
src/video_output/video_output.c
View file @
1346af34
...
...
@@ -248,31 +248,30 @@ void vout_DestroySubtitle( vout_thread_t *p_vout, subtitle_t *p_sub )
* vout_DisplayPicture: display a picture
*******************************************************************************
* Remove the reservation flag of a picture, which will cause it to be ready for
* display. The picture does not need to be locked, since it is ignored by
* the output thread if is reserved. The picture won't be displayed until
* vout_DatePicture has been called.
* display. The picture won't be displayed until vout_DatePicture has been
* called.
*******************************************************************************/
void
vout_DisplayPicture
(
vout_thread_t
*
p_vout
,
picture_t
*
p_pic
)
{
#ifdef DEBUG_VIDEO
char
psz_date
[
MSTRTIME_MAX_SIZE
];
/* buffer for date string */
#endif
#ifdef DEBUG
/* Check if picture status is valid */
if
(
p_pic
->
i_status
!=
RESERVED_PICTURE
)
vlc_mutex_lock
(
&
p_vout
->
picture_lock
);
switch
(
p_pic
->
i_status
)
{
intf_DbgMsg
(
"error: picture %p has invalid status %d
\n
"
,
p_pic
,
p_pic
->
i_status
);
}
case
RESERVED_PICTURE
:
p_pic
->
i_status
=
RESERVED_DISP_PICTURE
;
break
;
case
RESERVED_DATED_PICTURE
:
p_pic
->
i_status
=
READY_PICTURE
;
break
;
#ifdef DEBUG
default:
intf_DbgMsg
(
"error: picture %p has invalid status %d
\n
"
,
p_pic
,
p_pic
->
i_status
);
break
;
#endif
/* Remove reservation flag */
p_pic
->
i_status
=
READY_PICTURE
;
}
vlc_mutex_unlock
(
&
p_vout
->
picture_lock
);
#ifdef DEBUG_VIDEO
/* Send picture informations */
intf_DbgMsg
(
"picture %p: type=%d, %dx%d, date=%s
\n
"
,
p_pic
,
p_pic
->
i_type
,
p_pic
->
i_width
,
p_pic
->
i_height
,
mstrtime
(
psz_date
,
p_pic
->
date
)
);
intf_DbgMsg
(
"picture %p
\n
"
,
p_pic
);
#endif
}
...
...
@@ -280,13 +279,32 @@ void vout_DisplayPicture( vout_thread_t *p_vout, picture_t *p_pic )
* vout_DatePicture: date a picture
*******************************************************************************
* Remove the reservation flag of a picture, which will cause it to be ready for
* display. The picture does not need to be locked, since it is ignored by
* the output thread if is reserved. The picture won't be displayed until
* vout_DisplayPicture has been called.
* display. The picture won't be displayed until vout_DisplayPicture has been
* called.
*******************************************************************************/
void
vout_DatePicture
(
vout_thread_t
*
p_vout
,
picture_t
*
p_pic
,
mtime_t
date
)
{
//??
vlc_mutex_lock
(
&
p_vout
->
picture_lock
);
p_pic
->
date
=
date
;
switch
(
p_pic
->
i_status
)
{
case
RESERVED_PICTURE
:
p_pic
->
i_status
=
RESERVED_DATED_PICTURE
;
break
;
case
RESERVED_DISP_PICTURE
:
p_pic
->
i_status
=
READY_PICTURE
;
break
;
#ifdef DEBUG
default:
intf_DbgMsg
(
"error: picture %p has invalid status %d
\n
"
,
p_pic
,
p_pic
->
i_status
);
break
;
#endif
}
vlc_mutex_unlock
(
&
p_vout
->
picture_lock
);
#ifdef DEBUG_VIDEO
intf_DbgMsg
(
"picture %p
\n
"
,
p_pic
);
#endif
}
/*******************************************************************************
...
...
@@ -447,7 +465,9 @@ void vout_DestroyPicture( vout_thread_t *p_vout, picture_t *p_pic )
{
#ifdef DEBUG
/* Check if picture status is valid */
if
(
p_pic
->
i_status
!=
RESERVED_PICTURE
)
if
(
(
p_pic
->
i_status
!=
RESERVED_PICTURE
)
&&
(
p_pic
->
i_status
!=
RESERVED_DATED_PICTURE
)
&&
(
p_pic
->
i_status
!=
RESERVED_DISP_PICTURE
)
)
{
intf_DbgMsg
(
"error: picture %p has invalid status %d
\n
"
,
p_pic
,
p_pic
->
i_status
);
}
...
...
@@ -1020,6 +1040,8 @@ static int RenderInfo( vout_thread_t *p_vout, boolean_t b_blank )
switch
(
p_vout
->
p_picture
[
i_picture
].
i_status
)
{
case
RESERVED_PICTURE
:
case
RESERVED_DATED_PICTURE
:
case
RESERVED_DISP_PICTURE
:
i_reserved_pic
++
;
break
;
case
READY_PICTURE
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment