Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-gpu
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-gpu
Commits
9385e1d5
Commit
9385e1d5
authored
Jan 06, 2001
by
Henri Fallon
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed initialization of payload_start and payload_end It should be finished now.
parent
454454b5
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
47 deletions
+10
-47
src/input/input_netlist.c
src/input/input_netlist.c
+10
-47
No files found.
src/input/input_netlist.c
View file @
9385e1d5
...
@@ -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
5 2001/01/05 18:46:44 massiot
Exp $
* $Id: input_netlist.c,v 1.2
6 2001/01/06 03:16:00 henri
Exp $
*
*
* Authors: Henri Fallon <henri@videolan.org>
* Authors: Henri Fallon <henri@videolan.org>
*
*
...
@@ -122,11 +122,6 @@ int input_NetlistInit( input_thread_t * p_input, int i_nb_data, int i_nb_pes,
...
@@ -122,11 +122,6 @@ int input_NetlistInit( input_thread_t * p_input, int i_nb_data, int i_nb_pes,
p_netlist
->
pp_free_data
[
i_loop
]
->
p_buffer
=
p_netlist
->
pp_free_data
[
i_loop
]
->
p_buffer
=
p_netlist
->
p_buffers
+
i_loop
*
i_buffer_size
;
p_netlist
->
p_buffers
+
i_loop
*
i_buffer_size
;
//peut-tre pas ncessaire ici vu qu'on le fera chaque fois
//dans NewPacket et Getiovec
// p_netlist->pp_free_data[i_loop]->p_payload_start =
// p_netlist->pp_free_data[i_loop]->p_buffer;
p_netlist
->
pp_free_data
[
i_loop
]
->
p_payload_end
=
p_netlist
->
pp_free_data
[
i_loop
]
->
p_payload_end
=
p_netlist
->
pp_free_data
[
i_loop
]
->
p_buffer
+
i_buffer_size
;
p_netlist
->
pp_free_data
[
i_loop
]
->
p_buffer
+
i_buffer_size
;
}
}
...
@@ -169,7 +164,6 @@ int input_NetlistInit( input_thread_t * p_input, int i_nb_data, int i_nb_pes,
...
@@ -169,7 +164,6 @@ int input_NetlistInit( input_thread_t * p_input, int i_nb_data, int i_nb_pes,
struct
iovec
*
input_NetlistGetiovec
(
void
*
p_method_data
)
struct
iovec
*
input_NetlistGetiovec
(
void
*
p_method_data
)
{
{
netlist_t
*
p_netlist
;
netlist_t
*
p_netlist
;
int
i_loop
;
/* cast */
/* cast */
p_netlist
=
(
netlist_t
*
)
p_method_data
;
p_netlist
=
(
netlist_t
*
)
p_method_data
;
...
@@ -194,43 +188,16 @@ struct iovec * input_NetlistGetiovec( void * p_method_data )
...
@@ -194,43 +188,16 @@ struct iovec * input_NetlistGetiovec( void * p_method_data )
*
sizeof
(
struct
iovec
*
)
*
sizeof
(
struct
iovec
*
)
);
);
// je suis pas compltement sr que je fais ce que tu voulais ici ...
/* Initialize payload start and end */
//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
++
)
{
//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
]
;
=
p_netlist
->
pp_free_data
[
p_netlist
->
i_data_start
]
->
p_buffers
;
p_netlist
->
pp_free_data
[
p_netlist
->
i_data_start
]
->
p_payload_end
p_netlist
->
pp_free_data
[
p_netlist
->
i_data_start
]
->
p_payload_end
=
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
+
p_netlist
->
i_buffer_size
;
+
p_netlist
->
i_buffer_size
;
}
return
&
p_netlist
->
p_free_iovec
[
p_netlist
->
i_data_start
];
return
&
p_netlist
->
p_free_iovec
[
p_netlist
->
i_data_start
];
// ya un truc qui me pose pb : on va appeler Getiovec puis Mviovec, mais
// entre deux un autre thread peut pas venir foutre le brin dans les
// 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
// 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
// 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.
}
}
/*****************************************************************************
/*****************************************************************************
...
@@ -301,12 +268,8 @@ struct data_packet_s * input_NetlistNewPacket( void * p_method_data,
...
@@ -301,12 +268,8 @@ 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
=
p_return
->
p_buffers
;
p_return
->
p_payload_start
=
(
byte_t
*
)
p_return
;
p_return
->
p_payload_end
=
p_return
->
p_payload_start
+
i_buffer_size
;
//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_netlist
->
i_buffer_size
;
return
(
p_return
);
return
(
p_return
);
}
}
...
...
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