Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
13
Issues
13
List
Boards
Labels
Service Desk
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
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
GSoC
GSoC2018
macOS
vlc
Commits
5569856d
Commit
5569856d
authored
Jun 17, 2004
by
Olivier Aubert
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Formatting fixes
parent
11e8ae92
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
79 additions
and
79 deletions
+79
-79
modules/control/corba/mediacontrol-core.c
modules/control/corba/mediacontrol-core.c
+79
-79
No files found.
modules/control/corba/mediacontrol-core.c
View file @
5569856d
...
@@ -38,21 +38,21 @@ long long mediacontrol_unit_convert( input_thread_t *p_input,
...
@@ -38,21 +38,21 @@ long long mediacontrol_unit_convert( input_thread_t *p_input,
{
{
if
(
to
==
from
)
if
(
to
==
from
)
return
value
;
return
value
;
/* For all conversions, we need data from p_input */
/* For all conversions, we need data from p_input */
if
(
!
p_input
)
if
(
!
p_input
)
return
0
;
return
0
;
switch
(
from
)
switch
(
from
)
{
{
case
mediacontrol_MediaTime
:
case
mediacontrol_MediaTime
:
if
(
to
==
mediacontrol_ByteCount
)
if
(
to
==
mediacontrol_ByteCount
)
return
value
*
50
*
p_input
->
stream
.
i_mux_rate
/
1000
;
return
value
*
50
*
p_input
->
stream
.
i_mux_rate
/
1000
;
if
(
to
==
mediacontrol_SampleCount
)
if
(
to
==
mediacontrol_SampleCount
)
{
{
double
f_fps
;
double
f_fps
;
if
(
demux_Control
(
p_input
,
DEMUX_GET_FPS
,
&
f_fps
)
||
f_fps
<
0
.
1
)
if
(
demux_Control
(
p_input
,
DEMUX_GET_FPS
,
&
f_fps
)
||
f_fps
<
0
.
1
)
return
0
;
return
0
;
else
else
...
@@ -61,34 +61,34 @@ long long mediacontrol_unit_convert( input_thread_t *p_input,
...
@@ -61,34 +61,34 @@ long long mediacontrol_unit_convert( input_thread_t *p_input,
/* Cannot happen */
/* Cannot happen */
/* See http://catb.org/~esr/jargon/html/entry/can't-happen.html */
/* See http://catb.org/~esr/jargon/html/entry/can't-happen.html */
break
;
break
;
case
mediacontrol_SampleCount
:
case
mediacontrol_SampleCount
:
{
{
double
f_fps
;
double
f_fps
;
if
(
demux_Control
(
p_input
,
DEMUX_GET_FPS
,
&
f_fps
)
||
f_fps
<
0
.
1
)
if
(
demux_Control
(
p_input
,
DEMUX_GET_FPS
,
&
f_fps
)
||
f_fps
<
0
.
1
)
return
0
;
return
0
;
if
(
to
==
mediacontrol_ByteCount
)
if
(
to
==
mediacontrol_ByteCount
)
return
(
long
long
)(
value
*
50
*
p_input
->
stream
.
i_mux_rate
/
f_fps
);
return
(
long
long
)(
value
*
50
*
p_input
->
stream
.
i_mux_rate
/
f_fps
);
if
(
to
==
mediacontrol_MediaTime
)
if
(
to
==
mediacontrol_MediaTime
)
return
(
long
long
)(
value
*
1000
.
0
/
(
double
)
f_fps
);
return
(
long
long
)(
value
*
1000
.
0
/
(
double
)
f_fps
);
/* Cannot happen */
/* Cannot happen */
break
;
break
;
}
}
case
mediacontrol_ByteCount
:
case
mediacontrol_ByteCount
:
if
(
p_input
->
stream
.
i_mux_rate
==
0
)
if
(
p_input
->
stream
.
i_mux_rate
==
0
)
return
0
;
return
0
;
/* Convert an offset into milliseconds. Taken from input_ext-intf.c.
/* Convert an offset into milliseconds. Taken from input_ext-intf.c.
The 50 hardcoded constant comes from the definition of i_mux_rate :
The 50 hardcoded constant comes from the definition of i_mux_rate :
i_mux_rate : the rate we read the stream (in units of 50 bytes/s) ;
i_mux_rate : the rate we read the stream (in units of 50 bytes/s) ;
0 if undef */
0 if undef */
if
(
to
==
mediacontrol_MediaTime
)
if
(
to
==
mediacontrol_MediaTime
)
return
(
long
long
)(
1000
*
value
/
50
/
p_input
->
stream
.
i_mux_rate
);
return
(
long
long
)(
1000
*
value
/
50
/
p_input
->
stream
.
i_mux_rate
);
if
(
to
==
mediacontrol_SampleCount
)
if
(
to
==
mediacontrol_SampleCount
)
{
{
double
f_fps
;
double
f_fps
;
...
@@ -112,7 +112,7 @@ mediacontrol_position2microsecond( input_thread_t* p_input, const mediacontrol_P
...
@@ -112,7 +112,7 @@ mediacontrol_position2microsecond( input_thread_t* p_input, const mediacontrol_P
switch
(
pos
->
origin
)
switch
(
pos
->
origin
)
{
{
case
mediacontrol_AbsolutePosition
:
case
mediacontrol_AbsolutePosition
:
return
(
1000
*
mediacontrol_unit_convert
(
p_input
,
return
(
1000
*
mediacontrol_unit_convert
(
p_input
,
pos
->
key
,
/* from */
pos
->
key
,
/* from */
mediacontrol_MediaTime
,
/* to */
mediacontrol_MediaTime
,
/* to */
pos
->
value
)
);
pos
->
value
)
);
...
@@ -121,14 +121,14 @@ mediacontrol_position2microsecond( input_thread_t* p_input, const mediacontrol_P
...
@@ -121,14 +121,14 @@ mediacontrol_position2microsecond( input_thread_t* p_input, const mediacontrol_P
{
{
long
long
l_pos
;
long
long
l_pos
;
vlc_value_t
val
;
vlc_value_t
val
;
val
.
i_time
=
0
;
val
.
i_time
=
0
;
if
(
p_input
)
if
(
p_input
)
{
{
var_Get
(
p_input
,
"time"
,
&
val
);
var_Get
(
p_input
,
"time"
,
&
val
);
}
}
l_pos
=
1000
*
mediacontrol_unit_convert
(
p_input
,
l_pos
=
1000
*
mediacontrol_unit_convert
(
p_input
,
pos
->
key
,
pos
->
key
,
mediacontrol_MediaTime
,
mediacontrol_MediaTime
,
pos
->
value
);
pos
->
value
);
...
@@ -139,23 +139,23 @@ mediacontrol_position2microsecond( input_thread_t* p_input, const mediacontrol_P
...
@@ -139,23 +139,23 @@ mediacontrol_position2microsecond( input_thread_t* p_input, const mediacontrol_P
{
{
long
long
l_pos
;
long
long
l_pos
;
vlc_value_t
val
;
vlc_value_t
val
;
val
.
i_time
=
0
;
val
.
i_time
=
0
;
if
(
p_input
)
if
(
p_input
)
{
{
var_Get
(
p_input
,
"length"
,
&
val
);
var_Get
(
p_input
,
"length"
,
&
val
);
}
}
if
(
val
.
i_time
>
0
)
if
(
val
.
i_time
>
0
)
{
{
l_pos
=
(
1000
*
mediacontrol_unit_convert
(
p_input
,
l_pos
=
(
1000
*
mediacontrol_unit_convert
(
p_input
,
pos
->
key
,
pos
->
key
,
mediacontrol_MediaTime
,
mediacontrol_MediaTime
,
pos
->
value
)
);
pos
->
value
)
);
}
}
else
else
l_pos
=
0
;
l_pos
=
0
;
return
l_pos
%
val
.
i_time
;
return
l_pos
%
val
.
i_time
;
break
;
break
;
}
}
...
@@ -167,11 +167,11 @@ mediacontrol_RGBPicture*
...
@@ -167,11 +167,11 @@ mediacontrol_RGBPicture*
mediacontrol_RGBPicture__alloc
(
int
datasize
)
mediacontrol_RGBPicture__alloc
(
int
datasize
)
{
{
mediacontrol_RGBPicture
*
pic
;
mediacontrol_RGBPicture
*
pic
;
pic
=
(
mediacontrol_RGBPicture
*
)
malloc
(
sizeof
(
mediacontrol_RGBPicture
)
);
pic
=
(
mediacontrol_RGBPicture
*
)
malloc
(
sizeof
(
mediacontrol_RGBPicture
)
);
if
(
!
pic
)
if
(
!
pic
)
return
NULL
;
return
NULL
;
pic
->
size
=
datasize
;
pic
->
size
=
datasize
;
pic
->
data
=
(
char
*
)
malloc
(
datasize
);
pic
->
data
=
(
char
*
)
malloc
(
datasize
);
return
pic
;
return
pic
;
...
@@ -189,7 +189,7 @@ mediacontrol_PlaylistSeq*
...
@@ -189,7 +189,7 @@ mediacontrol_PlaylistSeq*
mediacontrol_PlaylistSeq__alloc
(
int
size
)
mediacontrol_PlaylistSeq__alloc
(
int
size
)
{
{
mediacontrol_PlaylistSeq
*
ps
;
mediacontrol_PlaylistSeq
*
ps
;
ps
=
(
mediacontrol_PlaylistSeq
*
)
malloc
(
sizeof
(
mediacontrol_PlaylistSeq
)
);
ps
=
(
mediacontrol_PlaylistSeq
*
)
malloc
(
sizeof
(
mediacontrol_PlaylistSeq
)
);
if
(
!
ps
)
if
(
!
ps
)
return
NULL
;
return
NULL
;
...
@@ -208,7 +208,7 @@ mediacontrol_PlaylistSeq__free( mediacontrol_PlaylistSeq* ps )
...
@@ -208,7 +208,7 @@ mediacontrol_PlaylistSeq__free( mediacontrol_PlaylistSeq* ps )
for
(
i
=
0
;
i
<
ps
->
size
;
i
++
)
for
(
i
=
0
;
i
<
ps
->
size
;
i
++
)
free
(
ps
->
data
[
i
]
);
free
(
ps
->
data
[
i
]
);
}
}
free
(
ps
->
data
);
free
(
ps
->
data
);
free
(
ps
);
free
(
ps
);
}
}
...
@@ -240,7 +240,7 @@ mediacontrol_Instance* mediacontrol_new_from_object( vlc_object_t* p_object,
...
@@ -240,7 +240,7 @@ mediacontrol_Instance* mediacontrol_new_from_object( vlc_object_t* p_object,
{
{
mediacontrol_Instance
*
retval
;
mediacontrol_Instance
*
retval
;
vlc_object_t
*
p_vlc
;
vlc_object_t
*
p_vlc
;
p_vlc
=
vlc_object_find
(
p_object
,
VLC_OBJECT_ROOT
,
FIND_PARENT
);
p_vlc
=
vlc_object_find
(
p_object
,
VLC_OBJECT_ROOT
,
FIND_PARENT
);
if
(
!
p_vlc
)
if
(
!
p_vlc
)
{
{
...
@@ -275,16 +275,16 @@ mediacontrol_get_media_position( mediacontrol_Instance *self,
...
@@ -275,16 +275,16 @@ mediacontrol_get_media_position( mediacontrol_Instance *self,
mediacontrol_Position
*
retval
;
mediacontrol_Position
*
retval
;
vlc_value_t
val
;
vlc_value_t
val
;
input_thread_t
*
p_input
=
self
->
p_playlist
->
p_input
;
input_thread_t
*
p_input
=
self
->
p_playlist
->
p_input
;
exception
=
mediacontrol_exception_init
(
exception
);
exception
=
mediacontrol_exception_init
(
exception
);
retval
=
(
mediacontrol_Position
*
)
malloc
(
sizeof
(
mediacontrol_Position
)
);
retval
=
(
mediacontrol_Position
*
)
malloc
(
sizeof
(
mediacontrol_Position
)
);
retval
->
origin
=
an_origin
;
retval
->
origin
=
an_origin
;
retval
->
key
=
a_key
;
retval
->
key
=
a_key
;
if
(
!
p_input
)
if
(
!
p_input
)
{
{
/*
/*
RAISE( mediacontrol_InternalException, "No input thread." );
RAISE( mediacontrol_InternalException, "No input thread." );
return( NULL );
return( NULL );
*/
*/
...
@@ -304,7 +304,7 @@ mediacontrol_get_media_position( mediacontrol_Instance *self,
...
@@ -304,7 +304,7 @@ mediacontrol_get_media_position( mediacontrol_Instance *self,
val
.
i_time
=
0
;
val
.
i_time
=
0
;
var_Get
(
p_input
,
"time"
,
&
val
);
var_Get
(
p_input
,
"time"
,
&
val
);
/* FIXME: check val.i_time > 0 */
/* FIXME: check val.i_time > 0 */
retval
->
value
=
mediacontrol_unit_convert
(
p_input
,
retval
->
value
=
mediacontrol_unit_convert
(
p_input
,
mediacontrol_MediaTime
,
mediacontrol_MediaTime
,
a_key
,
a_key
,
...
@@ -342,7 +342,7 @@ mediacontrol_set_media_position( mediacontrol_Instance *self,
...
@@ -342,7 +342,7 @@ mediacontrol_set_media_position( mediacontrol_Instance *self,
/* Starts playing a stream */
/* Starts playing a stream */
void
void
mediacontrol_start
(
mediacontrol_Instance
*
self
,
mediacontrol_start
(
mediacontrol_Instance
*
self
,
const
mediacontrol_Position
*
a_position
,
const
mediacontrol_Position
*
a_position
,
mediacontrol_Exception
*
exception
)
mediacontrol_Exception
*
exception
)
{
{
playlist_t
*
p_playlist
=
self
->
p_playlist
;
playlist_t
*
p_playlist
=
self
->
p_playlist
;
...
@@ -365,7 +365,7 @@ mediacontrol_start( mediacontrol_Instance *self,
...
@@ -365,7 +365,7 @@ mediacontrol_start( mediacontrol_Instance *self,
val
.
i_int
=
mediacontrol_position2microsecond
(
p_playlist
->
p_input
,
a_position
)
/
1000000
;
val
.
i_int
=
mediacontrol_position2microsecond
(
p_playlist
->
p_input
,
a_position
)
/
1000000
;
var_Set
(
p_playlist
,
"start-time"
,
val
);
var_Set
(
p_playlist
,
"start-time"
,
val
);
playlist_Play
(
p_playlist
);
playlist_Play
(
p_playlist
);
}
}
else
else
{
{
...
@@ -379,7 +379,7 @@ mediacontrol_start( mediacontrol_Instance *self,
...
@@ -379,7 +379,7 @@ mediacontrol_start( mediacontrol_Instance *self,
void
void
mediacontrol_pause
(
mediacontrol_Instance
*
self
,
mediacontrol_pause
(
mediacontrol_Instance
*
self
,
const
mediacontrol_Position
*
a_position
,
const
mediacontrol_Position
*
a_position
,
mediacontrol_Exception
*
exception
)
mediacontrol_Exception
*
exception
)
{
{
input_thread_t
*
p_input
=
self
->
p_playlist
->
p_input
;;
input_thread_t
*
p_input
=
self
->
p_playlist
->
p_input
;;
...
@@ -394,13 +394,13 @@ mediacontrol_pause( mediacontrol_Instance *self,
...
@@ -394,13 +394,13 @@ mediacontrol_pause( mediacontrol_Instance *self,
{
{
RAISE
(
mediacontrol_InternalException
,
"No input"
);
RAISE
(
mediacontrol_InternalException
,
"No input"
);
}
}
return
;
return
;
}
}
void
void
mediacontrol_resume
(
mediacontrol_Instance
*
self
,
mediacontrol_resume
(
mediacontrol_Instance
*
self
,
const
mediacontrol_Position
*
a_position
,
const
mediacontrol_Position
*
a_position
,
mediacontrol_Exception
*
exception
)
mediacontrol_Exception
*
exception
)
{
{
input_thread_t
*
p_input
=
self
->
p_playlist
->
p_input
;
input_thread_t
*
p_input
=
self
->
p_playlist
->
p_input
;
...
@@ -419,7 +419,7 @@ mediacontrol_resume( mediacontrol_Instance *self,
...
@@ -419,7 +419,7 @@ mediacontrol_resume( mediacontrol_Instance *self,
void
void
mediacontrol_stop
(
mediacontrol_Instance
*
self
,
mediacontrol_stop
(
mediacontrol_Instance
*
self
,
const
mediacontrol_Position
*
a_position
,
const
mediacontrol_Position
*
a_position
,
mediacontrol_Exception
*
exception
)
mediacontrol_Exception
*
exception
)
{
{
/* FIXME: use the a_position parameter */
/* FIXME: use the a_position parameter */
...
@@ -460,7 +460,7 @@ mediacontrol_playlist_clear( mediacontrol_Instance *self,
...
@@ -460,7 +460,7 @@ mediacontrol_playlist_clear( mediacontrol_Instance *self,
}
}
playlist_Clear
(
self
->
p_playlist
);
playlist_Clear
(
self
->
p_playlist
);
return
;
return
;
}
}
...
@@ -479,18 +479,18 @@ mediacontrol_playlist_get_list( mediacontrol_Instance *self,
...
@@ -479,18 +479,18 @@ mediacontrol_playlist_get_list( mediacontrol_Instance *self,
RAISE
(
mediacontrol_PlaylistException
,
"No playlist"
);
RAISE
(
mediacontrol_PlaylistException
,
"No playlist"
);
return
NULL
;
return
NULL
;
}
}
vlc_mutex_lock
(
&
p_playlist
->
object_lock
);
vlc_mutex_lock
(
&
p_playlist
->
object_lock
);
i_playlist_size
=
p_playlist
->
i_size
;
i_playlist_size
=
p_playlist
->
i_size
;
retval
=
mediacontrol_PlaylistSeq__alloc
(
i_playlist_size
);
retval
=
mediacontrol_PlaylistSeq__alloc
(
i_playlist_size
);
for
(
i_index
=
0
;
i_index
<
i_playlist_size
;
i_index
++
)
for
(
i_index
=
0
;
i_index
<
i_playlist_size
;
i_index
++
)
{
{
retval
->
data
[
i_index
]
=
strdup
(
p_playlist
->
pp_items
[
i_index
]
->
input
.
psz_uri
);
retval
->
data
[
i_index
]
=
strdup
(
p_playlist
->
pp_items
[
i_index
]
->
input
.
psz_uri
);
}
}
vlc_mutex_unlock
(
&
p_playlist
->
object_lock
);
vlc_mutex_unlock
(
&
p_playlist
->
object_lock
);
return
retval
;
return
retval
;
}
}
...
@@ -533,7 +533,7 @@ mediacontrol_snapshot( mediacontrol_Instance *self,
...
@@ -533,7 +533,7 @@ mediacontrol_snapshot( mediacontrol_Instance *self,
exception
=
mediacontrol_exception_init
(
exception
);
exception
=
mediacontrol_exception_init
(
exception
);
/*
/*
if( var_Get( self->p_vlc, "snapshot-id", &val ) == VLC_SUCCESS )
if( var_Get( self->p_vlc, "snapshot-id", &val ) == VLC_SUCCESS )
p_vout = vlc_object_get( self->p_vlc, val.i_int );
p_vout = vlc_object_get( self->p_vlc, val.i_int );
*/
*/
...
@@ -553,7 +553,7 @@ mediacontrol_snapshot( mediacontrol_Instance *self,
...
@@ -553,7 +553,7 @@ mediacontrol_snapshot( mediacontrol_Instance *self,
return
NULL
;
return
NULL
;
}
}
#ifdef HAS_SNAPSHOT
#ifdef HAS_SNAPSHOT
/* We test if the vout is a snapshot module. We cannot test
/* We test if the vout is a snapshot module. We cannot test
pvout_psz_object_name( which is NULL ). But we can check if
pvout_psz_object_name( which is NULL ). But we can check if
there are snapshot-specific variables */
there are snapshot-specific variables */
...
@@ -564,14 +564,14 @@ mediacontrol_snapshot( mediacontrol_Instance *self,
...
@@ -564,14 +564,14 @@ mediacontrol_snapshot( mediacontrol_Instance *self,
return
NULL
;
return
NULL
;
}
}
i_datasize
=
val
.
i_int
;
i_datasize
=
val
.
i_int
;
/* Handle the a_position parameter */
/* Handle the a_position parameter */
if
(
!
(
a_position
->
origin
==
mediacontrol_RelativePosition
if
(
!
(
a_position
->
origin
==
mediacontrol_RelativePosition
&&
a_position
->
value
==
0
)
)
&&
a_position
->
value
==
0
)
)
{
{
/* The position is not the current one. Go to it. */
/* The position is not the current one. Go to it. */
mediacontrol_set_media_position
(
self
,
mediacontrol_set_media_position
(
self
,
(
mediacontrol_Position
*
)
a_position
,
(
mediacontrol_Position
*
)
a_position
,
exception
);
exception
);
if
(
exception
->
code
)
if
(
exception
->
code
)
{
{
...
@@ -583,22 +583,22 @@ mediacontrol_snapshot( mediacontrol_Instance *self,
...
@@ -583,22 +583,22 @@ mediacontrol_snapshot( mediacontrol_Instance *self,
/* FIXME: We should not go further until we got past the position
/* FIXME: We should not go further until we got past the position
( which means that we had the possibility to capture the right
( which means that we had the possibility to capture the right
picture ). */
picture ). */
vlc_mutex_lock
(
&
p_vout
->
picture_lock
);
vlc_mutex_lock
(
&
p_vout
->
picture_lock
);
searched_date
=
mediacontrol_position2microsecond
(
p_input
,
searched_date
=
mediacontrol_position2microsecond
(
p_input
,
(
mediacontrol_Position
*
)
a_position
);
(
mediacontrol_Position
*
)
a_position
);
var_Get
(
p_vout
,
"snapshot-cache-size"
,
&
val
);
var_Get
(
p_vout
,
"snapshot-cache-size"
,
&
val
);
i_cachesize
=
val
.
i_int
;
i_cachesize
=
val
.
i_int
;
var_Get
(
p_vout
,
"snapshot-list-pointer"
,
&
val
);
var_Get
(
p_vout
,
"snapshot-list-pointer"
,
&
val
);
pointer
=
(
snapshot_t
**
)
val
.
p_address
;
pointer
=
(
snapshot_t
**
)
val
.
p_address
;
if
(
!
pointer
)
if
(
!
pointer
)
{
{
RAISE
(
mediacontrol_InternalException
,
"No available snapshot"
);
RAISE
(
mediacontrol_InternalException
,
"No available snapshot"
);
vlc_mutex_unlock
(
&
p_vout
->
picture_lock
);
vlc_mutex_unlock
(
&
p_vout
->
picture_lock
);
vlc_object_release
(
p_vout
);
vlc_object_release
(
p_vout
);
return
NULL
;
return
NULL
;
...
@@ -616,7 +616,7 @@ mediacontrol_snapshot( mediacontrol_Instance *self,
...
@@ -616,7 +616,7 @@ mediacontrol_snapshot( mediacontrol_Instance *self,
p_best_snapshot
=
pointer
[
i_index
];
p_best_snapshot
=
pointer
[
i_index
];
}
}
}
}
/* FIXME: add a test for the case that no picture matched the test
/* FIXME: add a test for the case that no picture matched the test
( we have p_best_snapshot == pointer[0] */
( we have p_best_snapshot == pointer[0] */
retval
=
_mediacontrol_createRGBPicture
(
p_best_snapshot
->
i_width
,
retval
=
_mediacontrol_createRGBPicture
(
p_best_snapshot
->
i_width
,
...
@@ -700,12 +700,12 @@ mediacontrol_all_snapshots( mediacontrol_Instance *self,
...
@@ -700,12 +700,12 @@ mediacontrol_all_snapshots( mediacontrol_Instance *self,
p_s
->
date
,
p_s
->
date
,
p_s
->
p_data
,
p_s
->
p_data
,
i_datasize
);
i_datasize
);
retval
[
i_index
]
=
p_rgb
;
retval
[
i_index
]
=
p_rgb
;
}
}
retval
[
i_cachesize
]
=
NULL
;
retval
[
i_cachesize
]
=
NULL
;
vlc_mutex_unlock
(
&
p_vout
->
picture_lock
);
vlc_mutex_unlock
(
&
p_vout
->
picture_lock
);
vlc_object_release
(
p_vout
);
vlc_object_release
(
p_vout
);
...
@@ -724,32 +724,32 @@ mediacontrol_display_text( mediacontrol_Instance *self,
...
@@ -724,32 +724,32 @@ mediacontrol_display_text( mediacontrol_Instance *self,
input_thread_t
*
p_input
=
NULL
;
input_thread_t
*
p_input
=
NULL
;
vout_thread_t
*
p_vout
=
NULL
;
vout_thread_t
*
p_vout
=
NULL
;
p_vout
=
vlc_object_find
(
self
->
p_playlist
,
VLC_OBJECT_VOUT
,
FIND_CHILD
);
p_vout
=
vlc_object_find
(
self
->
p_playlist
,
VLC_OBJECT_VOUT
,
FIND_CHILD
);
if
(
!
p_vout
)
if
(
!
p_vout
)
{
{
RAISE
(
mediacontrol_InternalException
,
"No video output"
);
RAISE
(
mediacontrol_InternalException
,
"No video output"
);
return
;
return
;
}
}
if
(
begin
->
origin
==
mediacontrol_RelativePosition
&&
if
(
begin
->
origin
==
mediacontrol_RelativePosition
&&
begin
->
value
==
0
&&
begin
->
value
==
0
&&
end
->
origin
==
mediacontrol_RelativePosition
)
end
->
origin
==
mediacontrol_RelativePosition
)
{
{
mtime_t
i_duration
=
0
;
mtime_t
i_duration
=
0
;
i_duration
=
1000
*
mediacontrol_unit_convert
(
self
->
p_playlist
->
p_input
,
i_duration
=
1000
*
mediacontrol_unit_convert
(
self
->
p_playlist
->
p_input
,
end
->
key
,
end
->
key
,
mediacontrol_MediaTime
,
mediacontrol_MediaTime
,
end
->
value
);
end
->
value
);
vout_ShowTextRelative
(
p_vout
,
DEFAULT_CHAN
,
(
char
*
)
message
,
NULL
,
vout_ShowTextRelative
(
p_vout
,
DEFAULT_CHAN
,
(
char
*
)
message
,
NULL
,
OSD_ALIGN_BOTTOM
|
OSD_ALIGN_LEFT
,
20
,
20
,
OSD_ALIGN_BOTTOM
|
OSD_ALIGN_LEFT
,
20
,
20
,
i_duration
);
i_duration
);
}
}
else
else
{
{
mtime_t
i_debut
,
i_fin
,
i_now
;
mtime_t
i_debut
,
i_fin
,
i_now
;
p_input
=
self
->
p_playlist
->
p_input
;
p_input
=
self
->
p_playlist
->
p_input
;
if
(
!
p_input
)
if
(
!
p_input
)
{
{
...
@@ -757,22 +757,22 @@ mediacontrol_display_text( mediacontrol_Instance *self,
...
@@ -757,22 +757,22 @@ mediacontrol_display_text( mediacontrol_Instance *self,
vlc_object_release
(
p_vout
);
vlc_object_release
(
p_vout
);
return
;
return
;
}
}
i_now
=
input_ClockGetTS
(
p_input
,
NULL
,
0
);
i_now
=
input_ClockGetTS
(
p_input
,
NULL
,
0
);
i_debut
=
mediacontrol_position2microsecond
(
p_input
,
i_debut
=
mediacontrol_position2microsecond
(
p_input
,
(
mediacontrol_Position
*
)
begin
);
(
mediacontrol_Position
*
)
begin
);
i_debut
+=
i_now
;
i_debut
+=
i_now
;
i_fin
=
mediacontrol_position2microsecond
(
p_input
,
i_fin
=
mediacontrol_position2microsecond
(
p_input
,
(
mediacontrol_Position
*
)
end
);
(
mediacontrol_Position
*
)
end
);
i_fin
+=
i_now
;
i_fin
+=
i_now
;
vout_ShowTextAbsolute
(
p_vout
,
DEFAULT_CHAN
,
(
char
*
)
message
,
NULL
,
vout_ShowTextAbsolute
(
p_vout
,
DEFAULT_CHAN
,
(
char
*
)
message
,
NULL
,
OSD_ALIGN_BOTTOM
|
OSD_ALIGN_LEFT
,
20
,
20
,
OSD_ALIGN_BOTTOM
|
OSD_ALIGN_LEFT
,
20
,
20
,
i_debut
,
i_fin
);
i_debut
,
i_fin
);
}
}
vlc_object_release
(
p_vout
);
vlc_object_release
(
p_vout
);
}
}
...
@@ -784,14 +784,14 @@ mediacontrol_get_stream_information( mediacontrol_Instance *self,
...
@@ -784,14 +784,14 @@ mediacontrol_get_stream_information( mediacontrol_Instance *self,
mediacontrol_StreamInformation
*
retval
;
mediacontrol_StreamInformation
*
retval
;
input_thread_t
*
p_input
=
self
->
p_playlist
->
p_input
;
input_thread_t
*
p_input
=
self
->
p_playlist
->
p_input
;