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
78335f88
Commit
78335f88
authored
Feb 20, 2001
by
Stéphane Borel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Second step in area management ; everything is in place now to have
title handling; it is coming :)
parent
583c6553
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
53 additions
and
41 deletions
+53
-41
include/input_ext-intf.h
include/input_ext-intf.h
+2
-1
plugins/dvd/dvd_css.c
plugins/dvd/dvd_css.c
+4
-4
plugins/dvd/input_dvd.c
plugins/dvd/input_dvd.c
+22
-15
plugins/gnome/gnome_callbacks.c
plugins/gnome/gnome_callbacks.c
+1
-1
plugins/gnome/intf_gnome.c
plugins/gnome/intf_gnome.c
+4
-3
plugins/mpeg/input_ps.c
plugins/mpeg/input_ps.c
+6
-5
src/input/input.c
src/input/input.c
+10
-8
src/input/input_ext-intf.c
src/input/input_ext-intf.c
+2
-2
src/input/input_programs.c
src/input/input_programs.c
+2
-2
No files found.
include/input_ext-intf.h
View file @
78335f88
...
...
@@ -4,7 +4,7 @@
* control the pace of reading.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: input_ext-intf.h,v 1.2
3 2001/02/20 02:53:13
stef Exp $
* $Id: input_ext-intf.h,v 1.2
4 2001/02/20 08:47:24
stef Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
...
...
@@ -181,6 +181,7 @@ typedef struct stream_descriptor_s
int
i_area_nb
;
input_area_t
**
pp_areas
;
/* list of areas in stream == offset
* interval with own properties */
input_area_t
*
p_selected_area
;
u32
i_mux_rate
;
/* the rate we read the stream (in
* units of 50 bytes/s) ; 0 if undef */
...
...
plugins/dvd/dvd_css.c
View file @
78335f88
...
...
@@ -2,7 +2,7 @@
* dvd_css.c: Functions for DVD authentification and unscrambling
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
* $Id: dvd_css.c,v 1.1
2 2001/02/20 07:49:12 sam
Exp $
* $Id: dvd_css.c,v 1.1
3 2001/02/20 08:47:25 stef
Exp $
*
* Author: Stphane Borel <stef@via.ecp.fr>
*
...
...
@@ -1183,9 +1183,9 @@ int CSSGetKey( css_t * p_css )
{
#ifdef STATS
intf_WarnMsg
(
1
,
"%d) %02X %02X %02X %02X %02X - %3.2f%%"
,
i
,
p_title_key
[
i
].
key
[
0
],
p_title_key
[
i
].
key
[
1
],
p_title_key
[
i
].
key
[
2
],
p_title_key
[
i
].
key
[
3
],
p_title_key
[
i
].
key
[
4
],
p_title_key
[
i
].
pi_key
[
0
],
p_title_key
[
i
].
pi_
key
[
1
],
p_title_key
[
i
].
pi_key
[
2
],
p_title_key
[
i
].
pi_
key
[
3
],
p_title_key
[
i
].
pi_
key
[
4
],
p_title_key
[
i
].
i_occ
*
100
.
0
/
i_total_keys_found
);
#endif
if
(
p_title_key
[
i_highest
].
i_occ
*
100
.
0
/
i_total_keys_found
...
...
plugins/dvd/input_dvd.c
View file @
78335f88
...
...
@@ -10,7 +10,7 @@
* -dvd_udf to find files
*****************************************************************************
* Copyright (C) 1998-2001 VideoLAN
* $Id: input_dvd.c,v 1.1
6 2001/02/20 07:49:12 sam
Exp $
* $Id: input_dvd.c,v 1.1
7 2001/02/20 08:47:25 stef
Exp $
*
* Author: Stphane Borel <stef@via.ecp.fr>
*
...
...
@@ -354,7 +354,7 @@ static int DVDSetArea( input_thread_t * p_input,
int
i_audio
,
int
i_spu
)
{
thread_dvd_data_t
*
p_method
;
es_descriptor_t
*
p_es
;
//
es_descriptor_t * p_es;
off_t
i_start
;
off_t
i_size
;
pgc_t
*
p_pgc
;
...
...
@@ -362,9 +362,9 @@ static int DVDSetArea( input_thread_t * p_input,
int
i_end_cell
;
int
i_index
;
int
i_cell
;
int
i_nb
;
int
i_id
;
int
i
;
//
int i_nb;
//
int i_id;
//
int i;
p_method
=
(
thread_dvd_data_t
*
)
p_input
->
p_plugin_data
;
...
...
@@ -467,7 +467,7 @@ static int DVDSetArea( input_thread_t * p_input,
p_es->i_stream_id = 0xbd;
p_es->i_type = DVD_SPU_ES;
// p_es->psz_desc = p_method->ifo.vts.mat.pi_subpic_attr[i];
if( i ==
0
)
if( i ==
12
)
{
input_SelectES( p_input, p_es );
}
...
...
@@ -475,15 +475,19 @@ static int DVDSetArea( input_thread_t * p_input,
}
/* area definition */
p_input->stream.pp_areas[
0
]->i_start = i_start;
p_input->stream.pp_areas[
0
]->i_size = i_size;
p_input->stream.pp_areas[
i_title
]->i_start = i_start;
p_input->stream.pp_areas[
i_title
]->i_size = i_size;
/* No PSM to read in DVD mode */
p_input->stream.pp_programs[0]->b_is_ok = 1;
/* Init has been successfull ; change the default area */
p_input->stream.p_selected_area = p_input->stream.pp_areas[i_title];
vlc_mutex_unlock( &p_input->stream.stream_lock );
#else
p_input
->
stream
.
p_selected_area
=
p_input
->
stream
.
pp_areas
[
0
];
if
(
p_input
->
stream
.
b_seekable
)
{
...
...
@@ -524,7 +528,8 @@ static int DVDSetArea( input_thread_t * p_input,
}
/* File too big. */
if
(
p_input
->
stream
.
pp_areas
[
0
]
->
i_tell
>
INPUT_PREPARSE_LENGTH
)
if
(
p_input
->
stream
.
p_selected_area
->
i_tell
>
INPUT_PREPARSE_LENGTH
)
{
break
;
}
...
...
@@ -534,7 +539,7 @@ static int DVDSetArea( input_thread_t * p_input,
/* i_tell is an indicator from the beginning of the stream,
* not of the DVD */
p_input
->
stream
.
p
p_areas
[
0
]
->
i_tell
=
0
;
p_input
->
stream
.
p
_selected_area
->
i_tell
=
0
;
if
(
p_demux_data
->
b_has_PSM
)
{
...
...
@@ -609,7 +614,7 @@ static int DVDSetArea( input_thread_t * p_input,
#endif
/* FIXME : ugly kludge */
p_input
->
stream
.
p
p_areas
[
0
]
->
i_size
=
i_size
;
p_input
->
stream
.
p
_selected_area
->
i_size
=
i_size
;
vlc_mutex_unlock
(
&
p_input
->
stream
.
stream_lock
);
}
...
...
@@ -620,7 +625,7 @@ static int DVDSetArea( input_thread_t * p_input,
p_input
->
stream
.
pp_programs
[
0
]
->
b_is_ok
=
0
;
/* FIXME : ugly kludge */
p_input
->
stream
.
p
p_areas
[
0
]
->
i_size
=
i_size
;
p_input
->
stream
.
p
_selected_area
->
i_size
=
i_size
;
vlc_mutex_unlock
(
&
p_input
->
stream
.
stream_lock
);
}
...
...
@@ -845,7 +850,8 @@ static int DVDRead( input_thread_t * p_input,
pp_packets
[
i_packet
]
=
NULL
;
vlc_mutex_lock
(
&
p_input
->
stream
.
stream_lock
);
p_input
->
stream
.
pp_areas
[
0
]
->
i_tell
+=
p_method
->
i_read_once
*
DVD_LB_SIZE
;
p_input
->
stream
.
p_selected_area
->
i_tell
+=
p_method
->
i_read_once
*
DVD_LB_SIZE
;
vlc_mutex_unlock
(
&
p_input
->
stream
.
stream_lock
);
return
(
0
);
...
...
@@ -873,14 +879,15 @@ static void DVDSeek( input_thread_t * p_input, off_t i_off )
p_method
=
(
thread_dvd_data_t
*
)
p_input
->
p_plugin_data
;
/* We have to take care of offset of beginning of title */
i_pos
=
i_off
+
p_input
->
stream
.
p
p_areas
[
0
]
->
i_start
;
i_pos
=
i_off
+
p_input
->
stream
.
p
_selected_area
->
i_start
;
/* With DVD, we have to be on a sector boundary */
i_pos
=
i_pos
&
(
~
0x7ff
);
i_pos
=
lseek
(
p_input
->
i_handle
,
i_pos
,
SEEK_SET
);
p_input
->
stream
.
pp_areas
[
0
]
->
i_tell
=
i_pos
-
p_input
->
stream
.
pp_areas
[
0
]
->
i_start
;
p_input
->
stream
.
p_selected_area
->
i_tell
=
i_pos
-
p_input
->
stream
.
p_selected_area
->
i_start
;
return
;
}
plugins/gnome/gnome_callbacks.c
View file @
78335f88
...
...
@@ -442,7 +442,7 @@ on_hscale_button_release_event (GtkWidget *widget,
if
(
p_intf
->
p_input
!=
NULL
)
{
i_seek
=
(
p_adj
->
value
*
p_intf
->
p_input
->
stream
.
p
p_areas
[
0
]
->
i_size
)
/
100
;
p_intf
->
p_input
->
stream
.
p
_selected_area
->
i_size
)
/
100
;
input_Seek
(
p_intf
->
p_input
,
i_seek
);
}
p_intf
->
p_sys
->
b_scale_isfree
=
1
;
...
...
plugins/gnome/intf_gnome.c
View file @
78335f88
...
...
@@ -2,7 +2,7 @@
* intf_gnome.c: Gnome interface
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: intf_gnome.c,v 1.1
5 2001/02/20 07:49:13 sam
Exp $
* $Id: intf_gnome.c,v 1.1
6 2001/02/20 08:47:25 stef
Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
...
...
@@ -256,8 +256,9 @@ static gint GnomeManage( gpointer p_data )
p_adj
=
gtk_range_get_adjustment
(
GTK_RANGE
(
p_scale
)
);
/* Update the value */
p_adj
->
value
=
(
100
.
*
p_intf
->
p_input
->
stream
.
pp_areas
[
0
]
->
i_tell
)
/
p_intf
->
p_input
->
stream
.
pp_areas
[
0
]
->
i_size
;
p_adj
->
value
=
(
100
.
*
p_intf
->
p_input
->
stream
.
p_selected_area
->
i_tell
)
/
p_intf
->
p_input
->
stream
.
p_selected_area
->
i_size
;
/* Gtv does it this way. Why not. */
gtk_range_set_adjustment
(
GTK_RANGE
(
p_scale
),
p_adj
);
...
...
plugins/mpeg/input_ps.c
View file @
78335f88
...
...
@@ -2,7 +2,7 @@
* input_ps.c: PS demux and packet management
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
* $Id: input_ps.c,v 1.
8 2001/02/20 07:49:13 sam
Exp $
* $Id: input_ps.c,v 1.
9 2001/02/20 08:47:25 stef
Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
...
...
@@ -205,14 +205,15 @@ static void PSInit( input_thread_t * p_input )
}
/* File too big. */
if
(
p_input
->
stream
.
pp_areas
[
0
]
->
i_tell
>
INPUT_PREPARSE_LENGTH
)
if
(
p_input
->
stream
.
p_selected_area
->
i_tell
>
INPUT_PREPARSE_LENGTH
)
{
break
;
}
}
rewind
(
p_method
->
stream
);
vlc_mutex_lock
(
&
p_input
->
stream
.
stream_lock
);
p_input
->
stream
.
p
p_areas
[
0
]
->
i_tell
=
0
;
p_input
->
stream
.
p
_selected_area
->
i_tell
=
0
;
if
(
p_demux_data
->
b_has_PSM
)
{
/* (The PSM decoder will care about spawning the decoders) */
...
...
@@ -328,7 +329,7 @@ static __inline__ int SafeRead( input_thread_t * p_input, byte_t * p_buffer,
}
}
vlc_mutex_lock
(
&
p_input
->
stream
.
stream_lock
);
p_input
->
stream
.
p
p_areas
[
0
]
->
i_tell
+=
i_len
;
p_input
->
stream
.
p
_selected_area
->
i_tell
+=
i_len
;
vlc_mutex_unlock
(
&
p_input
->
stream
.
stream_lock
);
return
(
0
);
}
...
...
@@ -470,7 +471,7 @@ static void PSSeek( input_thread_t * p_input, off_t i_position )
/* A little bourrin but should work for a while --Meuuh */
fseeko
(
p_method
->
stream
,
i_position
,
SEEK_SET
);
p_input
->
stream
.
p
p_areas
[
0
]
->
i_tell
=
i_position
;
p_input
->
stream
.
p
_selected_area
->
i_tell
=
i_position
;
}
/*
...
...
src/input/input.c
View file @
78335f88
...
...
@@ -4,7 +4,7 @@
* decoders.
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
* $Id: input.c,v 1.8
5 2001/02/20 02:53:13
stef Exp $
* $Id: input.c,v 1.8
6 2001/02/20 08:47:25
stef Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
...
...
@@ -112,7 +112,8 @@ input_thread_t *input_CreateThread ( playlist_item_t *p_item, int *pi_status )
p_input
->
stream
.
pp_areas
=
NULL
;
/* By default there is one areas in a stream */
input_AddArea
(
p_input
);
p_input
->
stream
.
pp_areas
[
0
]
->
i_seek
=
NO_SEEK
;
p_input
->
stream
.
p_selected_area
=
p_input
->
stream
.
pp_areas
[
0
];
p_input
->
stream
.
p_selected_area
->
i_seek
=
NO_SEEK
;
/* Initialize stream control properties. */
p_input
->
stream
.
control
.
i_status
=
PLAYING_S
;
...
...
@@ -214,11 +215,12 @@ static void RunThread( input_thread_t *p_input )
#endif
vlc_mutex_lock
(
&
p_input
->
stream
.
stream_lock
);
if
(
p_input
->
stream
.
p
p_areas
[
0
]
->
i_seek
!=
NO_SEEK
)
if
(
p_input
->
stream
.
p
_selected_area
->
i_seek
!=
NO_SEEK
)
{
if
(
p_input
->
stream
.
b_seekable
&&
p_input
->
pf_seek
!=
NULL
)
{
p_input
->
pf_seek
(
p_input
,
p_input
->
stream
.
pp_areas
[
0
]
->
i_seek
);
p_input
->
pf_seek
(
p_input
,
p_input
->
stream
.
p_selected_area
->
i_seek
);
for
(
i
=
0
;
i
<
p_input
->
stream
.
i_pgrm_number
;
i
++
)
{
...
...
@@ -232,7 +234,7 @@ static void RunThread( input_thread_t *p_input )
p_pgrm
->
i_synchro_state
=
SYNCHRO_REINIT
;
}
}
p_input
->
stream
.
p
p_areas
[
0
]
->
i_seek
=
NO_SEEK
;
p_input
->
stream
.
p
_selected_area
->
i_seek
=
NO_SEEK
;
}
vlc_mutex_unlock
(
&
p_input
->
stream
.
stream_lock
);
...
...
@@ -449,7 +451,7 @@ void input_FileOpen( input_thread_t * p_input )
||
S_ISBLK
(
stat_info
.
st_mode
)
)
{
p_input
->
stream
.
b_seekable
=
1
;
p_input
->
stream
.
p
p_areas
[
0
]
->
i_size
=
stat_info
.
st_size
;
p_input
->
stream
.
p
_selected_area
->
i_size
=
stat_info
.
st_size
;
}
else
if
(
S_ISFIFO
(
stat_info
.
st_mode
)
#ifndef SYS_BEOS
...
...
@@ -458,7 +460,7 @@ void input_FileOpen( input_thread_t * p_input )
)
{
p_input
->
stream
.
b_seekable
=
0
;
p_input
->
stream
.
p
p_areas
[
0
]
->
i_size
=
0
;
p_input
->
stream
.
p
_selected_area
->
i_size
=
0
;
}
else
{
...
...
@@ -469,7 +471,7 @@ void input_FileOpen( input_thread_t * p_input )
return
;
}
p_input
->
stream
.
p
p_areas
[
0
]
->
i_tell
=
0
;
p_input
->
stream
.
p
_selected_area
->
i_tell
=
0
;
vlc_mutex_unlock
(
&
p_input
->
stream
.
stream_lock
);
intf_Msg
(
"input: opening %s"
,
p_input
->
p_source
);
...
...
src/input/input_ext-intf.c
View file @
78335f88
...
...
@@ -138,10 +138,10 @@ void input_SetRate( input_thread_t * p_input, int i_mode )
void
input_Seek
(
input_thread_t
*
p_input
,
off_t
i_position
)
{
vlc_mutex_lock
(
&
p_input
->
stream
.
stream_lock
);
p_input
->
stream
.
p
p_areas
[
0
]
->
i_seek
=
i_position
;
p_input
->
stream
.
p
_selected_area
->
i_seek
=
i_position
;
intf_Msg
(
"input: seeking position %lld/%lld"
,
i_position
,
p_input
->
stream
.
pp_areas
[
0
]
->
i_size
);
p_input
->
stream
.
p_selected_area
->
i_size
);
vlc_cond_signal
(
&
p_input
->
stream
.
stream_wait
);
vlc_mutex_unlock
(
&
p_input
->
stream
.
stream_lock
);
...
...
src/input/input_programs.c
View file @
78335f88
...
...
@@ -2,7 +2,7 @@
* input_programs.c: es_descriptor_t, pgrm_descriptor_t management
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: input_programs.c,v 1.3
2 2001/02/20 02:53:13
stef Exp $
* $Id: input_programs.c,v 1.3
3 2001/02/20 08:47:25
stef Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
...
...
@@ -484,7 +484,7 @@ void input_DumpStream( input_thread_t * p_input )
intf_Msg
(
"input info: Dumping stream ID 0x%x"
,
S
.
i_stream_id
);
if
(
S
.
b_seekable
)
intf_Msg
(
"input info: seekable stream, position: %lld/%lld"
,
S
.
p
p_areas
[
0
].
i_tell
,
S
.
pp_areas
[
0
].
i_size
);
S
.
p
_selected_area
->
i_tell
,
S
.
p_selected_area
->
i_size
);
else
intf_Msg
(
"input info: %s"
,
S
.
b_pace_control
?
"pace controlled"
:
"pace un-controlled"
);
...
...
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