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
2ac915c5
Commit
2ac915c5
authored
Dec 30, 2000
by
Christophe Massiot
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Comments for Henri.
parent
12d3f35f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
2 deletions
+20
-2
src/input/input_netlist.c
src/input/input_netlist.c
+20
-2
No files found.
src/input/input_netlist.c
View file @
2ac915c5
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* input_netlist.c: netlist management
* input_netlist.c: netlist management
*****************************************************************************
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
* Copyright (C) 1998, 1999, 2000 VideoLAN
* $Id: input_netlist.c,v 1.2
3 2000/12/29 14:03:44 henri
Exp $
* $Id: input_netlist.c,v 1.2
4 2000/12/30 00:38:19 massiot
Exp $
*
*
* Authors: Henri Fallon <henri@videolan.org>
* Authors: Henri Fallon <henri@videolan.org>
*
*
...
@@ -193,9 +193,11 @@ struct iovec * input_NetlistGetiovec( void * p_method_data )
...
@@ -193,9 +193,11 @@ struct iovec * input_NetlistGetiovec( void * p_method_data )
);
);
// je suis pas compltement sr que je fais ce que tu voulais ici ...
// je suis pas compltement sr que je fais ce que tu voulais ici ...
//Hum t'as pas l'impression de faire INPUT_READ_ONCE fois la mme chose ?
for
(
i_loop
=
0
;
i_loop
<
INPUT_READ_ONCE
;
i_loop
++
)
for
(
i_loop
=
0
;
i_loop
<
INPUT_READ_ONCE
;
i_loop
++
)
{
{
//Noooooooooooooooooooooooooooooooooooooooooooooooooooooooooon !!!
p_netlist
->
pp_free_data
[
p_netlist
->
i_data_start
]
->
p_payload_start
p_netlist
->
pp_free_data
[
p_netlist
->
i_data_start
]
->
p_payload_start
=
(
byte_t
*
)
p_netlist
->
pp_free_data
[
p_netlist
->
i_data_start
];
=
(
byte_t
*
)
p_netlist
->
pp_free_data
[
p_netlist
->
i_data_start
];
...
@@ -210,10 +212,23 @@ struct iovec * input_NetlistGetiovec( void * p_method_data )
...
@@ -210,10 +212,23 @@ struct iovec * input_NetlistGetiovec( void * p_method_data )
// entre deux un autre thread peut pas venir foutre le brin dans les
// entre deux un autre thread peut pas venir foutre le brin dans les
// i_data_start et stop, du genre avec un newpacket ?
// i_data_start et stop, du genre avec un newpacket ?
//Bonne question, c'est l tout l'avantage de la FIFO : les dcodeurs ne
//dplacent _que_ i_data_end, et l'input dplace i_data_start.
//Pas de concurrence possible. L'input appelle NewPacket() et les
//dcodeurs appellent DeletePES().
// je suppose qu'on fait pas tout dans une mme fonction parce que si le
// je suppose qu'on fait pas tout dans une mme fonction parce que si le
// readv a besoin de moins que INPUT_READ_ONCE on perdrait de la place, mais
// readv a besoin de moins que INPUT_READ_ONCE on perdrait de la place, mais
//Oui.
// est-ce qu'il faut pas laisser le lock ce moment l et le rendre
// est-ce qu'il faut pas laisser le lock ce moment l et le rendre
// la fin de Mviovec ?
// la fin de Mviovec ?
//Non. Un read() est une opration bloquante qui peut prendre un temps
//*norme* sur lecture rseau notamment (pas temps CPU, temps rel
//d'attente). Si on lockait pendant tout ce temps les dcodeurs seraient
//bloqus trs souvent.
//Pour le corrig (et la version LIFO de l'algorithme) tu peux regarder
//input.c:input_ReadPacket() de l'input-I.
}
}
/*****************************************************************************
/*****************************************************************************
...
@@ -284,7 +299,10 @@ struct data_packet_s * input_NetlistNewPacket( void * p_method_data,
...
@@ -284,7 +299,10 @@ struct data_packet_s * input_NetlistNewPacket( void * p_method_data,
p_return
->
p_next
=
NULL
;
p_return
->
p_next
=
NULL
;
p_return
->
b_discard_payload
=
0
;
p_return
->
b_discard_payload
=
0
;
//Nooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooon !!!
p_return
->
p_payload_start
=
(
byte_t
*
)
p_return
;
p_return
->
p_payload_start
=
(
byte_t
*
)
p_return
;
//Plus prcisment, + i_buffer_size (il a le droit de vouloir un buffer
//plus petit)
p_return
->
p_payload_end
=
p_return
->
p_payload_start
p_return
->
p_payload_end
=
p_return
->
p_payload_start
+
p_netlist
->
i_buffer_size
;
+
p_netlist
->
i_buffer_size
;
...
@@ -352,7 +370,7 @@ void input_NetlistDeletePacket( void * p_method_data, data_packet_t * p_data )
...
@@ -352,7 +370,7 @@ void input_NetlistDeletePacket( void * p_method_data, data_packet_t * p_data )
p_netlist
->
p_free_iovec
[
p_netlist
->
i_data_end
].
iov_base
=
p_data
->
p_buffer
;
p_netlist
->
p_free_iovec
[
p_netlist
->
i_data_end
].
iov_base
=
p_data
->
p_buffer
;
/* unlock */
/* unlock */
vlc_mutex_unlock
(
&
p_netlist
->
lock
);
vlc_mutex_unlock
(
&
p_netlist
->
lock
);
}
}
/*****************************************************************************
/*****************************************************************************
...
...
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