Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
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
Commits
849d3078
Commit
849d3078
authored
Jun 24, 2005
by
Derk-Jan Hartman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* backport of [11511] [11512] and [11513]
parent
4ec24960
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
64 additions
and
99 deletions
+64
-99
extras/contrib/src/packages.mak
extras/contrib/src/packages.mak
+1
-1
modules/gui/macosx/playlist.m
modules/gui/macosx/playlist.m
+29
-60
modules/video_output/opengl.c
modules/video_output/opengl.c
+34
-38
No files found.
extras/contrib/src/packages.mak
View file @
849d3078
...
...
@@ -89,7 +89,7 @@ LIBDVDNAV_VERSION=0.1.10
LIBDVDNAV_URL
=
$(VIDEOLAN)
/testing/contrib/libdvdnav-
$(LIBDVDNAV_VERSION)
.tar.gz
LIBDVBPSI_VERSION
=
0.1.5
LIBDVBPSI_URL
=
$(VIDEOLAN)
/contrib/libdvbpsi3-
$(LIBDVBPSI_VERSION)
.tar.gz
LIVEDOTCOM_VERSION
=
2005.0
5.26a
LIVEDOTCOM_VERSION
=
2005.0
6.16
LIVEDOTCOM_URL
=
ftp://ftp.videolan.org/pub/videolan/contrib/live.
$(LIVEDOTCOM_VERSION)
.tar.gz
#GOOM_URL=$(VIDEOLAN)/testing/contrib/goom-macosx-altivec-bin.tar.gz
GOOM2k4_VERSION
=
2k4-0
...
...
modules/gui/macosx/playlist.m
View file @
849d3078
...
...
@@ -353,62 +353,26 @@ belongs to an Apple hidden private API, and then can "disapear" at any time*/
vlc_object_release
(
p_playlist
);
}
-
(
BOOL
)
isItem
:
(
playlist_item_t
*
)
p_item
inNode
:
(
playlist_item_t
*
)
p_node
-
(
BOOL
)
isValueItem
:
(
id
)
o_item
inNode
:
(
id
)
o_node
{
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_item_t
*
p_temp_item
=
p_item
;
if
(
p_playlist
==
NULL
)
{
return
NO
;
}
if
(
p_temp_item
)
{
int
i
;
vlc_mutex_lock
(
&
p_playlist
->
object_lock
);
/* Since outlineView: willDisplayCell:... may call this function with
p_items that don't exist anymore, first check if the item is still
in the playlist. Any cleaner solution welcomed. */
for
(
i
=
0
;
i
<
p_playlist
->
i_all_size
;
i
++
)
{
if
(
p_playlist
->
pp_all_items
[
i
]
==
p_item
)
break
;
else
if
(
i
==
p_playlist
->
i_all_size
-
1
)
{
vlc_object_release
(
p_playlist
);
vlc_mutex_unlock
(
&
p_playlist
->
object_lock
);
return
NO
;
}
}
while
(
p_temp_item
->
i_parents
>
0
)
int
i_total
=
[[
o_outline_view
dataSource
]
outlineView
:
o_outline_view
numberOfChildrenOfItem:
o_node
];
for
(
i
=
0
;
i
<
i_total
;
i
++
)
{
for
(
i
=
0
;
i
<
p_temp_item
->
i_parents
;
i
++
)
id
o_temp_item
=
[[
o_outline_view
dataSource
]
outlineView
:
o_outline_view
child
:
i
ofItem
:
o_node
];
if
(
[[
o_outline_view
dataSource
]
outlineView
:
o_outline_view
numberOfChildrenOfItem:
o_temp_item
]
>
0
)
{
if
(
p_temp_item
->
pp_parents
[
i
]
->
i_view
==
i_current_view
)
{
if
(
p_temp_item
->
pp_parents
[
i
]
->
p_parent
==
p_node
)
{
vlc_mutex_unlock
(
&
p_playlist
->
object_lock
);
vlc_object_release
(
p_playlist
);
if
(
[
self
isValueItem
:
o_item
inNode
:
o_temp_item
]
==
YES
)
return
YES
;
}
else
else
if
(
[
o_temp_item
isEqual
:
o_item
]
)
{
p_temp_item
=
p_temp_item
->
pp_parents
[
i
]
->
p_parent
;
break
;
}
}
}
vlc_mutex_unlock
(
&
p_playlist
->
object_lock
);
return
YES
;
}
}
vlc_object_release
(
p_playlist
);
return
NO
;
}
...
...
@@ -523,18 +487,21 @@ belongs to an Apple hidden private API, and then can "disapear" at any time*/
for
(
i
=
0
;
i
<
i_count
;
i
++
)
{
playlist_item_t
*
p_item
;
o_number
=
[
o_to_delete
lastObject
];
i_row
=
[
o_number
intValue
];
id
o_item
=
[
o_outline_view
itemAtRow
:
i_row
];
playlist_item_t
*
p_item
=
[
o_item
pointerValue
];
[
o_to_delete
removeObject
:
o_number
];
[
o_outline_view
deselectRow
:
i_row
];
p_item
=
(
playlist_item_t
*
)[[
o_outline_view
itemAtRow
:
i_row
]
pointerValue
];
if
(
p_item
->
i_children
>
-
1
)
//is a node and not an item
if
(
[[
o_outline_view
dataSource
]
outlineView
:
o_outline_view
numberOfChildrenOfItem:
o_item
]
>
0
)
//is a node and not an item
{
id
o_playing_item
=
[
o_outline_dict
objectForKey
:
[
NSString
stringWithFormat
:
@"%p"
,
p_playlist
->
status
.
p_item
]];
if
(
p_playlist
->
status
.
i_status
!=
PLAYLIST_STOPPED
&&
[
self
is
Item
:
p_playlist
->
status
.
p_item
inNode
:
p
_item
]
==
YES
)
[
self
is
ValueItem
:
o_playing_item
inNode
:
o
_item
]
==
YES
)
{
// if current item is in selected node and is playing then stop playlist
playlist_Stop
(
p_playlist
);
...
...
@@ -1059,14 +1026,16 @@ belongs to an Apple hidden private API, and then can "disapear" at any time*/
{
playlist_t
*
p_playlist
=
vlc_object_find
(
VLCIntf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
playlist_item_t
*
p_item
;
id
o_playing_item
;
if
(
!
p_playlist
)
return
;
p_item
=
(
playlist_item_t
*
)[
item
pointerValue
];
if
(
(
p_item
==
p_playlist
->
status
.
p_item
)
||
(
p_item
->
i_children
!=
0
&&
[
self
isItem
:
p_playlist
->
status
.
p_item
inNode
:
p_item
]
)
)
o_playing_item
=
[
o_outline_dict
objectForKey
:
[
NSString
stringWithFormat
:
@"%p"
,
p_playlist
->
status
.
p_item
]];
if
(
[
self
isValueItem
:
o_playing_item
inNode
:
item
]
||
[
o_playing_item
isEqual
:
item
]
)
{
[
cell
setFont
:
[
NSFont
boldSystemFontOfSize
:
0
]];
}
...
...
modules/video_output/opengl.c
View file @
849d3078
...
...
@@ -69,10 +69,6 @@
#define VLCGL_TYPE VLCGL_RGB_TYPE
#endif
#ifndef GL_CLAMP_TO_EDGE
# define GL_CLAMP_TO_EDGE 0x812F
#endif
/* OpenGL effects */
#define OPENGL_EFFECT_NONE 1
#define OPENGL_EFFECT_CUBE 2
...
...
@@ -96,6 +92,10 @@ static int InitTextures( vout_thread_t * );
static
int
SendEvents
(
vlc_object_t
*
,
char
const
*
,
vlc_value_t
,
vlc_value_t
,
void
*
);
/*****************************************************************************
* Module descriptor
*****************************************************************************/
#define SPEED_TEXT N_( "OpenGL cube rotation speed" )
/*****************************************************************************
* Module descriptor
*****************************************************************************/
...
...
@@ -589,10 +589,10 @@ static void DisplayVideo( vout_thread_t *p_vout, picture_t *p_pic )
{
glEnable
(
VLCGL_TARGET
);
glBegin
(
GL_POLYGON
);
glTexCoord2f
(
0
.
0
,
0
.
0
);
glVertex2f
(
-
1
.
0
,
1
.
0
);
glTexCoord2f
(
f_width
,
0
.
0
);
glVertex2f
(
1
.
0
,
1
.
0
);
glTexCoord2f
(
f_width
,
f_height
);
glVertex2f
(
1
.
0
,
-
1
.
0
);
glTexCoord2f
(
0
.
0
,
f_height
);
glVertex2f
(
-
1
.
0
,
-
1
.
0
);
glTexCoord2f
(
0
.
5
,
0
.
5
);
glVertex2f
(
-
1
.
0
,
1
.
0
);
glTexCoord2f
(
f_width
-
0
.
5
,
0
.
5
);
glVertex2f
(
1
.
0
,
1
.
0
);
glTexCoord2f
(
f_width
-
0
.
5
,
f_height
-
0
.
5
);
glVertex2f
(
1
.
0
,
-
1
.
0
);
glTexCoord2f
(
0
.
5
,
f_height
-
0
.
5
);
glVertex2f
(
-
1
.
0
,
-
1
.
0
);
glEnd
();
}
else
...
...
@@ -603,40 +603,36 @@ static void DisplayVideo( vout_thread_t *p_vout, picture_t *p_pic )
glBegin
(
GL_QUADS
);
/* Front */
glTexCoord2f
(
0
,
0
);
glVertex3f
(
-
1
.
0
,
1
.
0
,
1
.
0
);
glTexCoord2f
(
0
,
f_height
);
glVertex3f
(
-
1
.
0
,
-
1
.
0
,
1
.
0
);
glTexCoord2f
(
f_width
,
f_height
);
glVertex3f
(
1
.
0
,
-
1
.
0
,
1
.
0
);
glTexCoord2f
(
f_width
,
0
);
glVertex3f
(
1
.
0
,
1
.
0
,
1
.
0
);
glTexCoord2f
(
0
.
5
,
0
.
5
);
glVertex3f
(
-
1
.
0
,
1
.
0
,
1
.
0
);
glTexCoord2f
(
0
.
5
,
f_height
-
0
.
5
);
glVertex3f
(
-
1
.
0
,
-
1
.
0
,
1
.
0
);
glTexCoord2f
(
f_width
-
0
.
5
,
f_height
-
0
.
5
);
glVertex3f
(
1
.
0
,
-
1
.
0
,
1
.
0
);
glTexCoord2f
(
f_width
-
0
.
5
,
0
.
5
);
glVertex3f
(
1
.
0
,
1
.
0
,
1
.
0
);
/* Left */
glTexCoord2f
(
0
,
0
);
glVertex3f
(
-
1
.
0
,
1
.
0
,
-
1
.
0
);
glTexCoord2f
(
0
,
f_height
);
glVertex3f
(
-
1
.
0
,
-
1
.
0
,
-
1
.
0
);
glTexCoord2f
(
f_width
,
f_height
);
glVertex3f
(
-
1
.
0
,
-
1
.
0
,
1
.
0
);
glTexCoord2f
(
f_width
,
0
);
glVertex3f
(
-
1
.
0
,
1
.
0
,
1
.
0
);
glTexCoord2f
(
0
.
5
,
0
.
5
);
glVertex3f
(
-
1
.
0
,
1
.
0
,
-
1
.
0
);
glTexCoord2f
(
0
.
5
,
f_height
-
0
.
5
);
glVertex3f
(
-
1
.
0
,
-
1
.
0
,
-
1
.
0
);
glTexCoord2f
(
f_width
-
0
.
5
,
f_height
-
0
.
5
);
glVertex3f
(
-
1
.
0
,
-
1
.
0
,
1
.
0
);
glTexCoord2f
(
f_width
-
0
.
5
,
0
.
5
);
glVertex3f
(
-
1
.
0
,
1
.
0
,
1
.
0
);
/* Back */
glTexCoord2f
(
0
,
0
);
glVertex3f
(
1
.
0
,
1
.
0
,
-
1
.
0
);
glTexCoord2f
(
0
,
f_height
);
glVertex3f
(
1
.
0
,
-
1
.
0
,
-
1
.
0
);
glTexCoord2f
(
f_width
,
f_height
);
glVertex3f
(
-
1
.
0
,
-
1
.
0
,
-
1
.
0
);
glTexCoord2f
(
f_width
,
0
);
glVertex3f
(
-
1
.
0
,
1
.
0
,
-
1
.
0
);
glTexCoord2f
(
0
.
5
,
0
.
5
);
glVertex3f
(
1
.
0
,
1
.
0
,
-
1
.
0
);
glTexCoord2f
(
0
.
5
,
f_height
-
0
.
5
);
glVertex3f
(
1
.
0
,
-
1
.
0
,
-
1
.
0
);
glTexCoord2f
(
f_width
-
0
.
5
,
f_height
-
0
.
5
);
glVertex3f
(
-
1
.
0
,
-
1
.
0
,
-
1
.
0
);
glTexCoord2f
(
f_width
-
0
.
5
,
0
.
5
);
glVertex3f
(
-
1
.
0
,
1
.
0
,
-
1
.
0
);
/* Right */
glTexCoord2f
(
0
,
0
);
glVertex3f
(
1
.
0
,
1
.
0
,
1
.
0
);
glTexCoord2f
(
0
,
f_height
);
glVertex3f
(
1
.
0
,
-
1
.
0
,
1
.
0
);
glTexCoord2f
(
f_width
,
f_height
);
glVertex3f
(
1
.
0
,
-
1
.
0
,
-
1
.
0
);
glTexCoord2f
(
f_width
,
0
);
glVertex3f
(
1
.
0
,
1
.
0
,
-
1
.
0
);
glTexCoord2f
(
0
.
5
,
0
.
5
);
glVertex3f
(
1
.
0
,
1
.
0
,
1
.
0
);
glTexCoord2f
(
0
.
5
,
f_height
-
0
.
5
);
glVertex3f
(
1
.
0
,
-
1
.
0
,
1
.
0
);
glTexCoord2f
(
f_width
-
0
.
5
,
f_height
-
0
.
5
);
glVertex3f
(
1
.
0
,
-
1
.
0
,
-
1
.
0
);
glTexCoord2f
(
f_width
-
0
.
5
,
0
.
5
);
glVertex3f
(
1
.
0
,
1
.
0
,
-
1
.
0
);
/* Top */
glTexCoord2f
(
0
,
0
);
glVertex3f
(
-
1
.
0
,
1
.
0
,
-
1
.
0
);
glTexCoord2f
(
0
,
f_height
);
glVertex3f
(
-
1
.
0
,
1
.
0
,
1
.
0
);
glTexCoord2f
(
f_width
,
f_height
);
glVertex3f
(
1
.
0
,
1
.
0
,
1
.
0
);
glTexCoord2f
(
f_width
,
0
);
glVertex3f
(
1
.
0
,
1
.
0
,
-
1
.
0
);
/* Bottom */
glTexCoord2f
(
0
,
0
);
glVertex3f
(
-
1
.
0
,
-
1
.
0
,
1
.
0
);
glTexCoord2f
(
0
,
f_height
);
glVertex3f
(
-
1
.
0
,
-
1
.
0
,
-
1
.
0
);
glTexCoord2f
(
f_width
,
f_height
);
glVertex3f
(
1
.
0
,
-
1
.
0
,
-
1
.
0
);
glTexCoord2f
(
f_width
,
0
);
glVertex3f
(
1
.
0
,
-
1
.
0
,
1
.
0
);
glTexCoord2f
(
0
.
5
,
0
.
5
);
glVertex3f
(
-
1
.
0
,
1
.
0
,
-
1
.
0
);
glTexCoord2f
(
0
.
5
,
f_height
-
0
.
5
);
glVertex3f
(
-
1
.
0
,
1
.
0
,
1
.
0
);
glTexCoord2f
(
f_width
-
0
.
5
,
f_height
-
0
.
5
);
glVertex3f
(
1
.
0
,
1
.
0
,
1
.
0
);
glTexCoord2f
(
0
.
5
,
f_height
-
0
.
5
);
glVertex3f
(
-
1
.
0
,
-
1
.
0
,
-
1
.
0
);
glTexCoord2f
(
f_width
-
0
.
5
,
f_height
-
0
.
5
);
glVertex3f
(
1
.
0
,
-
1
.
0
,
-
1
.
0
);
glTexCoord2f
(
f_width
-
0
.
5
,
0
.
5
);
glVertex3f
(
1
.
0
,
-
1
.
0
,
1
.
0
);
glEnd
();
}
...
...
@@ -696,12 +692,12 @@ static int InitTextures( vout_thread_t *p_vout )
/* Set the texture parameters */
glTexParameterf
(
VLCGL_TARGET
,
GL_TEXTURE_PRIORITY
,
1
.
0
);
glTexParameteri
(
VLCGL_TARGET
,
GL_TEXTURE_MAG_FILTER
,
GL_LINEAR
);
glTexParameteri
(
VLCGL_TARGET
,
GL_TEXTURE_MIN_FILTER
,
GL_LINEAR
);
glTexParameteri
(
VLCGL_TARGET
,
GL_TEXTURE_WRAP_S
,
GL_CLAMP_TO_EDGE
);
glTexParameteri
(
VLCGL_TARGET
,
GL_TEXTURE_WRAP_T
,
GL_CLAMP_TO_EDGE
);
glTexParameteri
(
VLCGL_TARGET
,
GL_TEXTURE_MAG_FILTER
,
GL_LINEAR
);
glTexParameteri
(
VLCGL_TARGET
,
GL_TEXTURE_MIN_FILTER
,
GL_LINEAR
);
glTexEnvf
(
GL_TEXTURE_ENV
,
GL_TEXTURE_ENV_MODE
,
GL_MODULATE
);
#ifdef SYS_DARWIN
...
...
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