Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-1.1
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-1.1
Commits
18a8363d
Commit
18a8363d
authored
Jan 16, 2000
by
Vincent Seguin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
R�cup�ration du kludge level dans display.c pour pouvoir afficher autre
chose que les I...
parent
d81e21d5
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
19 additions
and
32 deletions
+19
-32
include/config.h
include/config.h
+1
-2
src/video_output/video_output.c
src/video_output/video_output.c
+18
-30
No files found.
include/config.h
View file @
18a8363d
...
...
@@ -270,7 +270,7 @@
#define VOUT_XSHM 1
/* Font maximum and minimum characters - characters outside this range are not
* printed - maximum range is
0
-256 */
* printed - maximum range is
1
-256 */
#define VOUT_MIN_CHAR 1
#define VOUT_MAX_CHAR 128
...
...
@@ -330,7 +330,6 @@
*/
#define INTF_APP_CLASS "vlc"
#define INTF_APP_NAME "vlc"
//??#define
/*
* X11 console properties
...
...
src/video_output/video_output.c
View file @
18a8363d
...
...
@@ -288,23 +288,22 @@ void vout_DestroyThread( vout_thread_t *p_vout, int *pi_status )
* vout_DisplayPicture: display a picture
*******************************************************************************
* Remove the reservation flag of a picture, which will cause it to be ready for
* display.
* display. The picture does not need to be locked, since it is ignored by
* the output thread if is reserved.
*******************************************************************************/
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
vlc_mutex_lock
(
&
p_vout
->
lock
);
#ifdef DEBUG_VIDEO
/* Check if picture status is valid */
if
(
p_pic
->
i_status
!=
RESERVED_PICTURE
)
{
intf_DbgMsg
(
"error: picture %d has invalid status %d
\n
"
,
p_pic
,
p_pic
->
i_status
);
}
/* Check if picture status is valid */
if
(
p_pic
->
i_status
!=
RESERVED_PICTURE
)
{
intf_DbgMsg
(
"error: picture %d has invalid status %d
\n
"
,
p_pic
,
p_pic
->
i_status
);
}
#endif
/* Remove reservation flag */
...
...
@@ -320,8 +319,6 @@ void vout_DisplayPicture( vout_thread_t *p_vout, picture_t *p_pic )
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
)
);
#endif
vlc_mutex_unlock
(
&
p_vout
->
lock
);
}
/*******************************************************************************
...
...
@@ -329,7 +326,8 @@ void vout_DisplayPicture( vout_thread_t *p_vout, picture_t *p_pic )
*******************************************************************************
* This function create a reserved image in the video output heap.
* A null pointer is returned if the function fails. This method provides an
* already allocated zone of memory in the picture data fields.
* already allocated zone of memory in the picture data fields. It needs locking
* since several pictures can be created by several producers threads.
*******************************************************************************/
picture_t
*
vout_CreatePicture
(
vout_thread_t
*
p_vout
,
int
i_type
,
int
i_width
,
int
i_height
,
int
i_bytes_per_line
)
...
...
@@ -454,11 +452,11 @@ picture_t *vout_CreatePicture( vout_thread_t *p_vout, int i_type,
* This function frees a previously reserved picture or a permanent
* picture. It is meant to be used when the construction of a picture aborted.
* Note that the picture will be destroyed even if it is linked !
* This function does not need locking since reserved pictures are ignored by
* the output thread.
*******************************************************************************/
void
vout_DestroyPicture
(
vout_thread_t
*
p_vout
,
picture_t
*
p_pic
)
{
vlc_mutex_lock
(
&
p_vout
->
lock
);
#ifdef DEBUG_VIDEO
/* Check if picture status is valid */
if
(
p_pic
->
i_status
!=
RESERVED_PICTURE
)
...
...
@@ -473,15 +471,13 @@ void vout_DestroyPicture( vout_thread_t *p_vout, picture_t *p_pic )
#ifdef DEBUG_VIDEO
intf_DbgMsg
(
"picture %p
\n
"
,
p_pic
);
#endif
vlc_mutex_unlock
(
&
p_vout
->
lock
);
}
/*******************************************************************************
* vout_LinkPicture: increment reference counter of a picture
*******************************************************************************
* This function increment the reference counter of a picture in the video
* heap.
* heap.
It needs a lock since several producer threads can access the picture.
*******************************************************************************/
void
vout_LinkPicture
(
vout_thread_t
*
p_vout
,
picture_t
*
p_pic
)
{
...
...
@@ -683,13 +679,10 @@ static void RunThread( vout_thread_t *p_vout)
while
(
(
!
p_vout
->
b_die
)
&&
(
!
p_vout
->
b_error
)
)
{
/*
* Find the picture to display - this is the only operation requiring
* the lock on the picture, since once a READY_PICTURE has been found,
* it can't be modified by the other threads (except if it is unliked,
* but its data remains)
*/
* Find the picture to display - this operation does not need lock,
* since only READY_PICTURES are handled
*/
p_pic
=
NULL
;
vlc_mutex_lock
(
&
p_vout
->
lock
);
for
(
i_picture
=
0
;
i_picture
<
VOUT_MAX_PICTURES
;
i_picture
++
)
{
if
(
(
p_vout
->
p_picture
[
i_picture
].
i_status
==
READY_PICTURE
)
&&
...
...
@@ -700,7 +693,6 @@ static void RunThread( vout_thread_t *p_vout)
pic_date
=
p_pic
->
date
;
}
}
vlc_mutex_unlock
(
&
p_vout
->
lock
);
/*
* Render picture if any
...
...
@@ -720,7 +712,6 @@ static void RunThread( vout_thread_t *p_vout)
{
/* Picture is late: it will be destroyed and the thread will go
* immediately to next picture */
vlc_mutex_lock
(
&
p_vout
->
lock
);
if
(
p_pic
->
i_refcount
)
{
p_pic
->
i_status
=
DISPLAYED_PICTURE
;
...
...
@@ -733,8 +724,7 @@ static void RunThread( vout_thread_t *p_vout)
#ifdef DEBUG_VIDEO
intf_DbgMsg
(
"warning: late picture %p skipped
\n
"
,
p_pic
);
#endif
vlc_mutex_unlock
(
&
p_vout
->
lock
);
p_pic
=
NULL
;
p_pic
=
NULL
;
}
else
if
(
pic_date
>
current_date
+
VOUT_DISPLAY_DELAY
)
{
...
...
@@ -748,7 +738,6 @@ static void RunThread( vout_thread_t *p_vout)
/* Picture has not yet been displayed, and has a valid display
* date : render it, then forget it */
RenderPicture
(
p_vout
,
p_pic
);
vlc_mutex_lock
(
&
p_vout
->
lock
);
if
(
p_pic
->
i_refcount
)
{
p_pic
->
i_status
=
DISPLAYED_PICTURE
;
...
...
@@ -757,7 +746,6 @@ static void RunThread( vout_thread_t *p_vout)
{
p_pic
->
i_status
=
DESTROYED_PICTURE
;
}
vlc_mutex_unlock
(
&
p_vout
->
lock
);
/* Print additional informations */
if
(
p_vout
->
b_info
)
...
...
@@ -766,7 +754,7 @@ static void RunThread( vout_thread_t *p_vout)
}
}
}
/*
* Check events, sleep and display 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