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
f5009d6f
Commit
f5009d6f
authored
Dec 07, 2004
by
Clément Stenac
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Recommit 9469->9479 + fix wxT/wxU
parent
d8e40e92
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
419 additions
and
449 deletions
+419
-449
modules/access/http.c
modules/access/http.c
+80
-11
modules/codec/cmml/cmml.c
modules/codec/cmml/cmml.c
+22
-7
modules/codec/cmml/intf.c
modules/codec/cmml/intf.c
+6
-12
modules/codec/speex.c
modules/codec/speex.c
+8
-7
modules/demux/mjpeg.c
modules/demux/mjpeg.c
+19
-8
modules/demux/ogg.c
modules/demux/ogg.c
+7
-0
modules/gui/skins2/src/vout_window.hpp
modules/gui/skins2/src/vout_window.hpp
+5
-11
modules/gui/wxwindows/iteminfo.cpp
modules/gui/wxwindows/iteminfo.cpp
+0
-16
modules/gui/wxwindows/playlist.cpp
modules/gui/wxwindows/playlist.cpp
+221
-330
modules/gui/wxwindows/wxwindows.h
modules/gui/wxwindows/wxwindows.h
+41
-38
modules/services_discovery/sap.c
modules/services_discovery/sap.c
+10
-9
No files found.
modules/access/http.c
View file @
f5009d6f
...
@@ -67,6 +67,10 @@ static void Close( vlc_object_t * );
...
@@ -67,6 +67,10 @@ static void Close( vlc_object_t * );
#define RECONNECT_LONGTEXT N_("Will automatically attempt a re-connection " \
#define RECONNECT_LONGTEXT N_("Will automatically attempt a re-connection " \
"in case it was untimely closed.")
"in case it was untimely closed.")
#define CONTINUOUS_TEXT N_("Continuous stream")
#define CONTINUOUS_LONGTEXT N_("Enable this option to read a file that is " \
"being constantly updated (for example, a JPG file on a server)")
vlc_module_begin
();
vlc_module_begin
();
set_description
(
_
(
"HTTP input"
)
);
set_description
(
_
(
"HTTP input"
)
);
set_capability
(
"access2"
,
0
);
set_capability
(
"access2"
,
0
);
...
@@ -81,10 +85,13 @@ vlc_module_begin();
...
@@ -81,10 +85,13 @@ vlc_module_begin();
AGENT_LONGTEXT
,
VLC_FALSE
);
AGENT_LONGTEXT
,
VLC_FALSE
);
add_bool
(
"http-reconnect"
,
0
,
NULL
,
RECONNECT_TEXT
,
add_bool
(
"http-reconnect"
,
0
,
NULL
,
RECONNECT_TEXT
,
RECONNECT_LONGTEXT
,
VLC_TRUE
);
RECONNECT_LONGTEXT
,
VLC_TRUE
);
add_bool
(
"http-continuous"
,
0
,
NULL
,
CONTINUOUS_TEXT
,
CONTINUOUS_LONGTEXT
,
VLC_TRUE
);
add_shortcut
(
"http"
);
add_shortcut
(
"http"
);
add_shortcut
(
"http4"
);
add_shortcut
(
"http4"
);
add_shortcut
(
"http6"
);
add_shortcut
(
"http6"
);
add_shortcut
(
"unsv"
);
set_callbacks
(
Open
,
Close
);
set_callbacks
(
Open
,
Close
);
vlc_module_end
();
vlc_module_end
();
...
@@ -124,8 +131,11 @@ struct access_sys_t
...
@@ -124,8 +131,11 @@ struct access_sys_t
char
*
psz_icy_genre
;
char
*
psz_icy_genre
;
char
*
psz_icy_title
;
char
*
psz_icy_title
;
int
i_remaining
;
vlc_bool_t
b_seekable
;
vlc_bool_t
b_seekable
;
vlc_bool_t
b_reconnect
;
vlc_bool_t
b_reconnect
;
vlc_bool_t
b_continuous
;
vlc_bool_t
b_pace_control
;
vlc_bool_t
b_pace_control
;
};
};
...
@@ -137,6 +147,7 @@ static int Control( access_t *, int, va_list );
...
@@ -137,6 +147,7 @@ static int Control( access_t *, int, va_list );
/* */
/* */
static
void
ParseURL
(
access_sys_t
*
,
char
*
psz_url
);
static
void
ParseURL
(
access_sys_t
*
,
char
*
psz_url
);
static
int
Connect
(
access_t
*
,
int64_t
);
static
int
Connect
(
access_t
*
,
int64_t
);
static
int
Request
(
access_t
*
p_access
,
int64_t
i_tell
);
/*****************************************************************************
/*****************************************************************************
* Open:
* Open:
...
@@ -201,6 +212,7 @@ static int Open( vlc_object_t *p_this )
...
@@ -201,6 +212,7 @@ static int Open( vlc_object_t *p_this )
p_sys
->
psz_icy_name
=
NULL
;
p_sys
->
psz_icy_name
=
NULL
;
p_sys
->
psz_icy_genre
=
NULL
;
p_sys
->
psz_icy_genre
=
NULL
;
p_sys
->
psz_icy_title
=
NULL
;
p_sys
->
psz_icy_title
=
NULL
;
p_sys
->
i_remaining
=
0
;
/* Parse URI */
/* Parse URI */
ParseURL
(
p_sys
,
p_access
->
psz_path
);
ParseURL
(
p_sys
,
p_access
->
psz_path
);
...
@@ -269,6 +281,7 @@ static int Open( vlc_object_t *p_this )
...
@@ -269,6 +281,7 @@ static int Open( vlc_object_t *p_this )
}
}
p_sys
->
b_reconnect
=
var_CreateGetBool
(
p_access
,
"http-reconnect"
);
p_sys
->
b_reconnect
=
var_CreateGetBool
(
p_access
,
"http-reconnect"
);
p_sys
->
b_continuous
=
var_CreateGetBool
(
p_access
,
"http-continuous"
);
/* Connect */
/* Connect */
if
(
Connect
(
p_access
,
0
)
)
if
(
Connect
(
p_access
,
0
)
)
...
@@ -420,6 +433,7 @@ static int Read( access_t *p_access, uint8_t *p_buffer, int i_len )
...
@@ -420,6 +433,7 @@ static int Read( access_t *p_access, uint8_t *p_buffer, int i_len )
return
0
;
return
0
;
}
}
}
}
if
(
p_sys
->
b_chunked
)
if
(
p_sys
->
b_chunked
)
{
{
if
(
p_sys
->
i_chunk
<
0
)
if
(
p_sys
->
i_chunk
<
0
)
...
@@ -454,11 +468,24 @@ static int Read( access_t *p_access, uint8_t *p_buffer, int i_len )
...
@@ -454,11 +468,24 @@ static int Read( access_t *p_access, uint8_t *p_buffer, int i_len )
}
}
}
}
if
(
p_sys
->
b_continuous
&&
i_len
>
p_sys
->
i_remaining
)
{
/* Only ask for the remaining length */
int
i_new_len
=
p_sys
->
i_remaining
;
if
(
i_new_len
==
0
)
{
Request
(
p_access
,
0
);
i_read
=
Read
(
p_access
,
p_buffer
,
i_len
);
return
i_read
;
}
i_len
=
i_new_len
;
}
if
(
p_sys
->
i_icy_meta
>
0
&&
p_access
->
info
.
i_pos
>
0
)
if
(
p_sys
->
i_icy_meta
>
0
&&
p_access
->
info
.
i_pos
>
0
)
{
{
int64_t
i_next
=
p_sys
->
i_icy_meta
-
int64_t
i_next
=
p_sys
->
i_icy_meta
-
p_access
->
info
.
i_pos
%
p_sys
->
i_icy_meta
;
p_access
->
info
.
i_pos
%
p_sys
->
i_icy_meta
;
if
(
i_next
==
p_sys
->
i_icy_meta
)
if
(
i_next
==
p_sys
->
i_icy_meta
)
{
{
if
(
ReadICYMeta
(
p_access
)
)
if
(
ReadICYMeta
(
p_access
)
)
...
@@ -472,6 +499,7 @@ static int Read( access_t *p_access, uint8_t *p_buffer, int i_len )
...
@@ -472,6 +499,7 @@ static int Read( access_t *p_access, uint8_t *p_buffer, int i_len )
}
}
i_read
=
net_Read
(
p_access
,
p_sys
->
fd
,
NULL
,
p_buffer
,
i_len
,
VLC_FALSE
);
i_read
=
net_Read
(
p_access
,
p_sys
->
fd
,
NULL
,
p_buffer
,
i_len
,
VLC_FALSE
);
if
(
i_read
>
0
)
if
(
i_read
>
0
)
{
{
p_access
->
info
.
i_pos
+=
i_read
;
p_access
->
info
.
i_pos
+=
i_read
;
...
@@ -489,6 +517,13 @@ static int Read( access_t *p_access, uint8_t *p_buffer, int i_len )
...
@@ -489,6 +517,13 @@ static int Read( access_t *p_access, uint8_t *p_buffer, int i_len )
}
}
else
if
(
i_read
==
0
)
else
if
(
i_read
==
0
)
{
{
if
(
p_sys
->
b_continuous
)
{
Request
(
p_access
,
0
);
p_sys
->
b_continuous
=
VLC_FALSE
;
i_read
=
Read
(
p_access
,
p_buffer
,
i_len
);
p_sys
->
b_continuous
=
VLC_TRUE
;
}
if
(
p_sys
->
b_reconnect
)
if
(
p_sys
->
b_reconnect
)
{
{
msg_Dbg
(
p_access
,
"got disconnected, trying to reconnect"
);
msg_Dbg
(
p_access
,
"got disconnected, trying to reconnect"
);
...
@@ -508,6 +543,11 @@ static int Read( access_t *p_access, uint8_t *p_buffer, int i_len )
...
@@ -508,6 +543,11 @@ static int Read( access_t *p_access, uint8_t *p_buffer, int i_len )
if
(
i_read
==
0
)
p_access
->
info
.
b_eof
=
VLC_TRUE
;
if
(
i_read
==
0
)
p_access
->
info
.
b_eof
=
VLC_TRUE
;
}
}
if
(
p_sys
->
b_continuous
)
{
p_sys
->
i_remaining
-=
i_read
;
}
return
i_read
;
return
i_read
;
}
}
...
@@ -760,6 +800,14 @@ static int Connect( access_t *p_access, int64_t i_tell )
...
@@ -760,6 +800,14 @@ static int Connect( access_t *p_access, int64_t i_tell )
return
VLC_EGENERIC
;
return
VLC_EGENERIC
;
}
}
return
Request
(
p_access
,
i_tell
);
}
static
int
Request
(
access_t
*
p_access
,
int64_t
i_tell
)
{
access_sys_t
*
p_sys
=
p_access
->
p_sys
;
char
*
psz
;
if
(
p_sys
->
b_proxy
)
if
(
p_sys
->
b_proxy
)
{
{
if
(
p_sys
->
url
.
psz_path
)
if
(
p_sys
->
url
.
psz_path
)
...
@@ -792,7 +840,7 @@ static int Connect( access_t *p_access, int64_t i_tell )
...
@@ -792,7 +840,7 @@ static int Connect( access_t *p_access, int64_t i_tell )
p_sys
->
url
.
i_port
);
p_sys
->
url
.
i_port
);
}
}
else
else
{
{
net_Printf
(
VLC_OBJECT
(
p_access
),
p_sys
->
fd
,
NULL
,
net_Printf
(
VLC_OBJECT
(
p_access
),
p_sys
->
fd
,
NULL
,
"GET %s HTTP/1.%d
\r\n
Host: %s
\r\n
"
,
"GET %s HTTP/1.%d
\r\n
Host: %s
\r\n
"
,
psz_path
,
p_sys
->
i_version
,
p_sys
->
url
.
psz_host
);
psz_path
,
p_sys
->
i_version
,
p_sys
->
url
.
psz_host
);
...
@@ -807,6 +855,7 @@ static int Connect( access_t *p_access, int64_t i_tell )
...
@@ -807,6 +855,7 @@ static int Connect( access_t *p_access, int64_t i_tell )
net_Printf
(
VLC_OBJECT
(
p_access
),
p_sys
->
fd
,
NULL
,
net_Printf
(
VLC_OBJECT
(
p_access
),
p_sys
->
fd
,
NULL
,
"Range: bytes="
I64Fd
"-
\r\n
"
,
i_tell
);
"Range: bytes="
I64Fd
"-
\r\n
"
,
i_tell
);
}
}
/* Authentification */
/* Authentification */
if
(
p_sys
->
psz_user
&&
*
p_sys
->
psz_user
)
if
(
p_sys
->
psz_user
&&
*
p_sys
->
psz_user
)
{
{
...
@@ -827,7 +876,17 @@ static int Connect( access_t *p_access, int64_t i_tell )
...
@@ -827,7 +876,17 @@ static int Connect( access_t *p_access, int64_t i_tell )
net_Printf
(
VLC_OBJECT
(
p_access
),
p_sys
->
fd
,
NULL
,
"Icy-MetaData: 1
\r\n
"
);
net_Printf
(
VLC_OBJECT
(
p_access
),
p_sys
->
fd
,
NULL
,
"Icy-MetaData: 1
\r\n
"
);
net_Printf
(
VLC_OBJECT
(
p_access
),
p_sys
->
fd
,
NULL
,
"Connection: Close
\r\n
"
);
if
(
p_sys
->
b_continuous
&&
p_sys
->
i_version
==
1
)
{
net_Printf
(
VLC_OBJECT
(
p_access
),
p_sys
->
fd
,
NULL
,
"Connection: keep-alive
\r\n
"
);
}
else
{
net_Printf
(
VLC_OBJECT
(
p_access
),
p_sys
->
fd
,
NULL
,
"Connection: Close
\r\n
"
);
p_sys
->
b_continuous
=
VLC_FALSE
;
}
if
(
net_Printf
(
VLC_OBJECT
(
p_access
),
p_sys
->
fd
,
NULL
,
"
\r\n
"
)
<
0
)
if
(
net_Printf
(
VLC_OBJECT
(
p_access
),
p_sys
->
fd
,
NULL
,
"
\r\n
"
)
<
0
)
{
{
...
@@ -907,8 +966,17 @@ static int Connect( access_t *p_access, int64_t i_tell )
...
@@ -907,8 +966,17 @@ static int Connect( access_t *p_access, int64_t i_tell )
if
(
!
strcasecmp
(
psz
,
"Content-Length"
)
)
if
(
!
strcasecmp
(
psz
,
"Content-Length"
)
)
{
{
p_access
->
info
.
i_size
=
i_tell
+
atoll
(
p
);
if
(
p_sys
->
b_continuous
)
msg_Dbg
(
p_access
,
"stream size="
I64Fd
,
p_access
->
info
.
i_size
);
{
p_access
->
info
.
i_size
=
-
1
;
msg_Dbg
(
p_access
,
"this frame size="
I64Fd
,
atoll
(
p
)
);
p_sys
->
i_remaining
=
atoll
(
p
);
}
else
{
p_access
->
info
.
i_size
=
i_tell
+
atoll
(
p
);
msg_Dbg
(
p_access
,
"stream size="
I64Fd
,
p_access
->
info
.
i_size
);
}
}
}
else
if
(
!
strcasecmp
(
psz
,
"Location"
)
)
else
if
(
!
strcasecmp
(
psz
,
"Location"
)
)
{
{
...
@@ -924,7 +992,7 @@ static int Connect( access_t *p_access, int64_t i_tell )
...
@@ -924,7 +992,7 @@ static int Connect( access_t *p_access, int64_t i_tell )
else
if
(
!
strcasecmp
(
psz
,
"Pragma"
)
)
else
if
(
!
strcasecmp
(
psz
,
"Pragma"
)
)
{
{
if
(
!
strcasecmp
(
psz
,
"Pragma: features"
)
)
if
(
!
strcasecmp
(
psz
,
"Pragma: features"
)
)
p_sys
->
b_mms
=
VLC_TRUE
;
p_sys
->
b_mms
=
VLC_TRUE
;
if
(
p_sys
->
psz_pragma
)
free
(
p_sys
->
psz_pragma
);
if
(
p_sys
->
psz_pragma
)
free
(
p_sys
->
psz_pragma
);
p_sys
->
psz_pragma
=
strdup
(
p
);
p_sys
->
psz_pragma
=
strdup
(
p
);
msg_Dbg
(
p_access
,
"Pragma: %s"
,
p_sys
->
psz_pragma
);
msg_Dbg
(
p_access
,
"Pragma: %s"
,
p_sys
->
psz_pragma
);
...
@@ -935,11 +1003,12 @@ static int Connect( access_t *p_access, int64_t i_tell )
...
@@ -935,11 +1003,12 @@ static int Connect( access_t *p_access, int64_t i_tell )
if
(
!
strncasecmp
(
p
,
"Icecast"
,
7
)
||
if
(
!
strncasecmp
(
p
,
"Icecast"
,
7
)
||
!
strncasecmp
(
p
,
"Nanocaster"
,
10
)
)
!
strncasecmp
(
p
,
"Nanocaster"
,
10
)
)
{
{
/* Remember if this is Icecast
/* Remember if this is Icecast
* we need to force mp3 in some cases without breaking autodetection */
* we need to force mp3 in some cases without breaking
* autodetection */
/* Let live
365 streams (nanocaster) piggyback on the icecast routine.
/* Let live
65 streams (nanocaster) piggyback on the icecast
* They look very similar */
*
routine.
They look very similar */
p_sys
->
b_reconnect
=
VLC_TRUE
;
p_sys
->
b_reconnect
=
VLC_TRUE
;
p_sys
->
b_pace_control
=
VLC_FALSE
;
p_sys
->
b_pace_control
=
VLC_FALSE
;
...
...
modules/codec/cmml/cmml.c
View file @
f5009d6f
...
@@ -37,7 +37,7 @@
...
@@ -37,7 +37,7 @@
#include "xtag.h"
#include "xtag.h"
#undef CMML_DEBUG
#undef
CMML_DEBUG
/*****************************************************************************
/*****************************************************************************
* decoder_sys_t : decoder descriptor
* decoder_sys_t : decoder descriptor
...
@@ -50,12 +50,12 @@ struct decoder_sys_t
...
@@ -50,12 +50,12 @@ struct decoder_sys_t
/*****************************************************************************
/*****************************************************************************
* Local prototypes
* Local prototypes
*****************************************************************************/
*****************************************************************************/
static
int
OpenDecoder
(
vlc_object_t
*
);
static
int
OpenDecoder
(
vlc_object_t
*
);
static
void
CloseDecoder
(
vlc_object_t
*
);
static
void
CloseDecoder
(
vlc_object_t
*
);
static
void
DecodeBlock
(
decoder_t
*
,
block_t
**
);
static
subpicture_t
*
DecodeBlock
(
decoder_t
*
,
block_t
**
);
static
void
ParseText
(
decoder_t
*
,
block_t
*
);
static
void
ParseText
(
decoder_t
*
,
block_t
*
);
/*****************************************************************************
/*****************************************************************************
* Exported prototypes
* Exported prototypes
...
@@ -140,17 +140,32 @@ static int OpenDecoder( vlc_object_t *p_this )
...
@@ -140,17 +140,32 @@ static int OpenDecoder( vlc_object_t *p_this )
****************************************************************************
****************************************************************************
* This function must be fed with complete subtitles units.
* This function must be fed with complete subtitles units.
****************************************************************************/
****************************************************************************/
static
void
DecodeBlock
(
decoder_t
*
p_dec
,
block_t
**
pp_block
)
static
subpicture_t
*
DecodeBlock
(
decoder_t
*
p_dec
,
block_t
**
pp_block
)
{
{
subpicture_t
*
p_spu
;
if
(
!
pp_block
||
*
pp_block
==
NULL
)
if
(
!
pp_block
||
*
pp_block
==
NULL
)
{
{
return
;
return
NULL
;
}
}
ParseText
(
p_dec
,
*
pp_block
);
ParseText
(
p_dec
,
*
pp_block
);
block_Release
(
*
pp_block
);
block_Release
(
*
pp_block
);
*
pp_block
=
NULL
;
*
pp_block
=
NULL
;
/* allocate an empty subpicture to return. the actual subpicture
* displaying is done in the DisplayAnchor function in intf.c (called from
* DisplayPendingAnchor, which in turn is called from the main RunIntf
* loop). */
p_spu
=
p_dec
->
pf_spu_buffer_new
(
p_dec
);
if
(
!
p_spu
)
{
msg_Dbg
(
p_dec
,
"couldn't allocate new subpicture"
);
return
NULL
;
}
return
p_spu
;
}
}
/*****************************************************************************
/*****************************************************************************
...
...
modules/codec/cmml/intf.c
View file @
f5009d6f
...
@@ -53,7 +53,6 @@
...
@@ -53,7 +53,6 @@
#undef CMML_INTF_USE_TIMED_URIS
#undef CMML_INTF_USE_TIMED_URIS
#undef CMML_INTF_DEBUG
#undef CMML_INTF_DEBUG
#undef CMML_INTF_SUBPICTURE_DEBUG
#undef CMML_INTF_HISTORY_DEBUG
#undef CMML_INTF_HISTORY_DEBUG
/*****************************************************************************
/*****************************************************************************
...
@@ -149,10 +148,11 @@ void E_(CloseIntf) ( vlc_object_t *p_this )
...
@@ -149,10 +148,11 @@ void E_(CloseIntf) ( vlc_object_t *p_this )
msg_Dbg
(
p_intf
,
"freeing CMML interface"
);
msg_Dbg
(
p_intf
,
"freeing CMML interface"
);
#endif
#endif
/*
E
rase the anchor text description from the video output if it exists */
/*
e
rase the anchor text description from the video output if it exists */
p_vout
=
vlc_object_find
(
p_intf
,
VLC_OBJECT_VOUT
,
FIND_ANYWHERE
);
p_vout
=
vlc_object_find
(
p_intf
,
VLC_OBJECT_VOUT
,
FIND_ANYWHERE
);
if
(
p_vout
)
if
(
p_vout
)
{
{
/* enable CMML as a subtitle track */
spu_Control
(
p_vout
->
p_spu
,
SPU_CHANNEL_CLEAR
,
DEFAULT_CHAN
);
spu_Control
(
p_vout
->
p_spu
,
SPU_CHANNEL_CLEAR
,
DEFAULT_CHAN
);
vlc_object_release
(
p_vout
);
vlc_object_release
(
p_vout
);
}
}
...
@@ -160,7 +160,7 @@ void E_(CloseIntf) ( vlc_object_t *p_this )
...
@@ -160,7 +160,7 @@ void E_(CloseIntf) ( vlc_object_t *p_this )
var_DelCallback
(
p_intf
->
p_vlc
,
"key-pressed"
,
KeyEvent
,
p_intf
);
var_DelCallback
(
p_intf
->
p_vlc
,
"key-pressed"
,
KeyEvent
,
p_intf
);
vlc_object_release
(
p_intf
->
p_sys
->
p_cmml_decoder
);
vlc_object_release
(
p_intf
->
p_sys
->
p_cmml_decoder
);
free
(
p_intf
->
p_sys
);
free
(
p_intf
->
p_sys
);
}
}
...
@@ -484,7 +484,7 @@ static void FollowAnchor ( intf_thread_t *p_intf )
...
@@ -484,7 +484,7 @@ static void FollowAnchor ( intf_thread_t *p_intf )
history_t
*
p_history
=
NULL
;
history_t
*
p_history
=
NULL
;
history_item_t
*
p_history_item
=
NULL
;
history_item_t
*
p_history_item
=
NULL
;
char
*
psz_timed_url
;
char
*
psz_timed_url
;
p_history
=
GetHistory
(
p_playlist
);
p_history
=
GetHistory
(
p_playlist
);
/* create history item */
/* create history item */
...
@@ -821,9 +821,8 @@ static int DisplayAnchor( intf_thread_t *p_intf,
...
@@ -821,9 +821,8 @@ static int DisplayAnchor( intf_thread_t *p_intf,
if
(
psz_anchor_url
)
if
(
psz_anchor_url
)
{
{
/* Should display subtitle underlined and in blue,
/* Should display subtitle underlined and in blue, but it looks
* but it looks like VLC doesn't implement any
* like VLC doesn't implement any text styles yet. D'oh! */
* text styles yet. D'oh! */
p_style
=
&
blue_with_underline
;
p_style
=
&
blue_with_underline
;
}
}
...
@@ -836,11 +835,6 @@ static int DisplayAnchor( intf_thread_t *p_intf,
...
@@ -836,11 +835,6 @@ static int DisplayAnchor( intf_thread_t *p_intf,
i_margin_h
,
i_margin_v
,
i_now
,
0
)
==
VLC_SUCCESS
)
i_margin_h
,
i_margin_v
,
i_now
,
0
)
==
VLC_SUCCESS
)
{
{
/* Displayed successfully */
/* Displayed successfully */
#ifdef CMML_INTF_SUBPICTURE_DEBUG
msg_Dbg
(
p_intf
,
"subpicture created at (%d, %d) (%d, %d)"
,
p_subpicture
->
i_x
,
p_subpicture
->
i_y
,
p_subpicture
->
i_width
,
p_subpicture
->
i_height
);
#endif
}
}
else
else
{
{
...
...
modules/codec/speex.c
View file @
f5009d6f
...
@@ -463,8 +463,8 @@ static aout_buffer_t *DecodePacket( decoder_t *p_dec, ogg_packet *p_oggpacket )
...
@@ -463,8 +463,8 @@ static aout_buffer_t *DecodePacket( decoder_t *p_dec, ogg_packet *p_oggpacket )
return
NULL
;
return
NULL
;
}
}
i_ret
=
speex_decode
(
p_sys
->
p_state
,
&
p_sys
->
bits
,
i_ret
=
speex_decode
_int
(
p_sys
->
p_state
,
&
p_sys
->
bits
,
(
int16_t
*
)
p_aout_buffer
->
p_buffer
);
(
int16_t
*
)
p_aout_buffer
->
p_buffer
);
if
(
i_ret
==
-
1
)
if
(
i_ret
==
-
1
)
{
{
/* End of stream */
/* End of stream */
...
@@ -483,8 +483,9 @@ static aout_buffer_t *DecodePacket( decoder_t *p_dec, ogg_packet *p_oggpacket )
...
@@ -483,8 +483,9 @@ static aout_buffer_t *DecodePacket( decoder_t *p_dec, ogg_packet *p_oggpacket )
}
}
if
(
p_sys
->
p_header
->
nb_channels
==
2
)
if
(
p_sys
->
p_header
->
nb_channels
==
2
)
speex_decode_stereo
(
(
int16_t
*
)
p_aout_buffer
->
p_buffer
,
speex_decode_stereo_int
(
(
int16_t
*
)
p_aout_buffer
->
p_buffer
,
p_sys
->
p_header
->
frame_size
,
&
p_sys
->
stereo
);
p_sys
->
p_header
->
frame_size
,
&
p_sys
->
stereo
);
/* Date management */
/* Date management */
p_aout_buffer
->
start_date
=
aout_DateGet
(
&
p_sys
->
end_date
);
p_aout_buffer
->
start_date
=
aout_DateGet
(
&
p_sys
->
end_date
);
...
@@ -744,15 +745,15 @@ static block_t *Encode( encoder_t *p_enc, aout_buffer_t *p_aout_buf )
...
@@ -744,15 +745,15 @@ static block_t *Encode( encoder_t *p_enc, aout_buffer_t *p_aout_buf )
/* Encode current frame */
/* Encode current frame */
if
(
p_enc
->
fmt_in
.
audio
.
i_channels
==
2
)
if
(
p_enc
->
fmt_in
.
audio
.
i_channels
==
2
)
speex_encode_stereo
(
p_samples
,
p_sys
->
i_frame_length
,
speex_encode_stereo
_int
(
p_samples
,
p_sys
->
i_frame_length
,
&
p_sys
->
bits
);
&
p_sys
->
bits
);
#if 0
#if 0
if( p_sys->preprocess )
if( p_sys->preprocess )
speex_preprocess( p_sys->preprocess, p_samples, NULL );
speex_preprocess( p_sys->preprocess, p_samples, NULL );
#endif
#endif
speex_encode
(
p_sys
->
p_state
,
p_samples
,
&
p_sys
->
bits
);
speex_encode
_int
(
p_sys
->
p_state
,
p_samples
,
&
p_sys
->
bits
);
p_buffer
+=
p_sys
->
i_frame_size
;
p_buffer
+=
p_sys
->
i_frame_size
;
p_sys
->
i_samples_delay
-=
p_sys
->
i_frame_length
;
p_sys
->
i_samples_delay
-=
p_sys
->
i_frame_length
;
...
...
modules/demux/mjpeg.c
View file @
f5009d6f
...
@@ -65,6 +65,7 @@ struct demux_sys_t
...
@@ -65,6 +65,7 @@ struct demux_sys_t
vlc_bool_t
b_still
;
vlc_bool_t
b_still
;
mtime_t
i_still_end
;
mtime_t
i_still_end
;
mtime_t
i_still_length
;
mtime_t
i_time
;
mtime_t
i_time
;
mtime_t
i_frame_length
;
mtime_t
i_frame_length
;
...
@@ -75,7 +76,7 @@ struct demux_sys_t
...
@@ -75,7 +76,7 @@ struct demux_sys_t
};
};
/*****************************************************************************
/*****************************************************************************
* Peek: Helper function to peek data with incremental size.
* Peek: Helper function to peek data with incremental size.
* \return VLC_FALSE if peek no more data, VLC_TRUE otherwise.
* \return VLC_FALSE if peek no more data, VLC_TRUE otherwise.
*****************************************************************************/
*****************************************************************************/
static
vlc_bool_t
Peek
(
demux_t
*
p_demux
,
vlc_bool_t
b_first
)
static
vlc_bool_t
Peek
(
demux_t
*
p_demux
,
vlc_bool_t
b_first
)
...
@@ -277,7 +278,7 @@ static int SendBlock( demux_t *p_demux, int i )
...
@@ -277,7 +278,7 @@ static int SendBlock( demux_t *p_demux, int i )
if
(
p_sys
->
b_still
)
if
(
p_sys
->
b_still
)
{
{
p_sys
->
i_still_end
=
mdate
()
+
I64C
(
5000000
)
;
p_sys
->
i_still_end
=
mdate
()
+
p_sys
->
i_still_length
;
}
}
return
1
;
return
1
;
...
@@ -327,6 +328,11 @@ static int Open( vlc_object_t * p_this )
...
@@ -327,6 +328,11 @@ static int Open( vlc_object_t * p_this )
goto
error
;
goto
error
;
}
}
var_Create
(
p_demux
,
"mjpeg-fps"
,
VLC_VAR_FLOAT
|
VLC_VAR_DOINHERIT
);
var_Get
(
p_demux
,
"mjpeg-fps"
,
&
val
);
p_sys
->
i_frame_length
=
0
;
/* Check for jpeg file extension */
/* Check for jpeg file extension */
p_sys
->
b_still
=
VLC_FALSE
;
p_sys
->
b_still
=
VLC_FALSE
;
p_sys
->
i_still_end
=
0
;
p_sys
->
i_still_end
=
0
;
...
@@ -335,12 +341,17 @@ static int Open( vlc_object_t * p_this )
...
@@ -335,12 +341,17 @@ static int Open( vlc_object_t * p_this )
!
strcasecmp
(
psz_ext
,
".jpg"
)
)
)
!
strcasecmp
(
psz_ext
,
".jpg"
)
)
)
{
{
p_sys
->
b_still
=
VLC_TRUE
;
p_sys
->
b_still
=
VLC_TRUE
;
if
(
val
.
f_float
)
{
p_sys
->
i_still_length
=
1000000
.
0
/
val
.
f_float
;
}
else
{
/* Defaults to 1fps */
p_sys
->
i_still_length
=
1000000
;
}
}
}
else
if
(
val
.
f_float
)
var_Create
(
p_demux
,
"mjpeg-fps"
,
VLC_VAR_FLOAT
|
VLC_VAR_DOINHERIT
);
var_Get
(
p_demux
,
"mjpeg-fps"
,
&
val
);
p_sys
->
i_frame_length
=
0
;
if
(
val
.
f_float
)
{
{
p_sys
->
i_frame_length
=
1000000
.
0
/
val
.
f_float
;
p_sys
->
i_frame_length
=
1000000
.
0
/
val
.
f_float
;
}
}
...
@@ -373,7 +384,7 @@ static int MjpgDemux( demux_t *p_demux )
...
@@ -373,7 +384,7 @@ static int MjpgDemux( demux_t *p_demux )
}
}
else
if
(
p_sys
->
b_still
&&
p_sys
->
i_still_end
)
else
if
(
p_sys
->
b_still
&&
p_sys
->
i_still_end
)
{
{
msleep
(
400
00
);
msleep
(
400
);
return
1
;
return
1
;
}
}
...
...
modules/demux/ogg.c
View file @
f5009d6f
...
@@ -1338,6 +1338,13 @@ static void Ogg_ReadAnnodexHeader( vlc_object_t *p_this,
...
@@ -1338,6 +1338,13 @@ static void Ogg_ReadAnnodexHeader( vlc_object_t *p_this,
p_stream
->
b_force_backup
=
1
;
p_stream
->
b_force_backup
=
1
;
}
}
else
if
(
!
strncmp
(
content_type_string
,
"audio/x-speex"
,
14
)
)
{
p_stream
->
fmt
.
i_cat
=
AUDIO_ES
;
p_stream
->
fmt
.
i_codec
=
VLC_FOURCC
(
's'
,
'p'
,
'x'
,
' '
);
p_stream
->
b_force_backup
=
1
;
}
else
if
(
!
strncmp
(
content_type_string
,
"video/x-theora"
,
14
)
)
else
if
(
!
strncmp
(
content_type_string
,
"video/x-theora"
,
14
)
)
{
{
p_stream
->
fmt
.
i_cat
=
VIDEO_ES
;
p_stream
->
fmt
.
i_cat
=
VIDEO_ES
;
...
...
modules/gui/skins2/src/vout_window.hpp
View file @
f5009d6f
...
@@ -30,24 +30,18 @@ class OSGraphics;
...
@@ -30,24 +30,18 @@ class OSGraphics;
/// Class to handle a video output window
/// Class to handle a video output window
class
VoutWindow
:
p
ublic
GenericWindow
class
VoutWindow
:
p
rivate
GenericWindow
{
{
public:
public:
VoutWindow
(
intf_thread_t
*
pIntf
,
int
xPos
,
int
yPos
,
VoutWindow
(
intf_thread_t
*
pIntf
,
int
xPos
,
int
yPos
,
bool
dragDrop
,
bool
playOnDrop
,
GenericWindow
&
rParent
);
bool
dragDrop
,
bool
playOnDrop
,
GenericWindow
&
rParent
);
virtual
~
VoutWindow
();
virtual
~
VoutWindow
();
///
These methods are redefined here to make them
public
///
Make some functions
public
//@{
//@{
/// Show the window
using
GenericWindow
::
show
;
virtual
void
show
()
{
GenericWindow
::
show
();
}
using
GenericWindow
::
hide
;
using
GenericWindow
::
move
;
/// Hide the window
virtual
void
hide
()
{
GenericWindow
::
hide
();
}
/// Move the window
virtual
void
move
(
int
left
,
int
top
)
{
GenericWindow
::
move
(
left
,
top
);
}
//@}
//@}
/// Resize the window
/// Resize the window
...
...
modules/gui/wxwindows/iteminfo.cpp
View file @
f5009d6f
...
@@ -223,22 +223,6 @@ void ItemInfoDialog::OnOk( wxCommandEvent& WXUNUSED(event) )
...
@@ -223,22 +223,6 @@ void ItemInfoDialog::OnOk( wxCommandEvent& WXUNUSED(event) )
p_item
->
input
.
psz_uri
=
strdup
(
uri_text
->
GetLineText
(
0
).
mb_str
()
);
p_item
->
input
.
psz_uri
=
strdup
(
uri_text
->
GetLineText
(
0
).
mb_str
()
);
playlist_ItemAddInfo
(
p_item
,
"General"
,
"Author"
,
playlist_ItemAddInfo
(
p_item
,
"General"
,
"Author"
,
author_text
->
GetLineText
(
0
).
mb_str
()
);
author_text
->
GetLineText
(
0
).
mb_str
()
);
vlc_bool_t
b_old_enabled
=
p_item
->
b_enabled
;
playlist_t
*
p_playlist
=
(
playlist_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
if
(
p_playlist
!=
NULL
)
{
if
(
b_old_enabled
==
VLC_FALSE
&&
enabled_checkbox
->
IsChecked
()
)
p_playlist
->
i_enabled
++
;
else
if
(
b_old_enabled
==
VLC_TRUE
&&
!
enabled_checkbox
->
IsChecked
()
)
p_playlist
->
i_enabled
--
;
vlc_object_release
(
p_playlist
);
}
p_item
->
b_enabled
=
enabled_checkbox
->
IsChecked
()
?
VLC_TRUE
:
VLC_FALSE
;
vlc_mutex_unlock
(
&
p_item
->
input
.
lock
);
vlc_mutex_unlock
(
&
p_item
->
input
.
lock
);
EndModal
(
wxID_OK
);
EndModal
(
wxID_OK
);
}
}
...
...
modules/gui/wxwindows/playlist.cpp
View file @
f5009d6f
This diff is collapsed.
Click to expand it.
modules/gui/wxwindows/wxwindows.h
View file @
f5009d6f
...
@@ -785,40 +785,52 @@ public:
...
@@ -785,40 +785,52 @@ public:
private:
private:
void
DeleteItem
(
int
item
);
void
DeleteItem
(
int
item
);
void
ShowInfos
(
int
item
);
void
DeleteNode
(
playlist_item_t
*
node
);
/* Event handlers (these functions should _not_ be virtual) */
/* Event handlers (these functions should _not_ be virtual) */
void
OnSize
(
wxSizeEvent
&
event
);
/* Menu Handlers */
/* Menu Handlers */
void
OnAddFile
(
wxCommandEvent
&
event
);
void
OnAddFile
(
wxCommandEvent
&
event
);
void
OnAddDir
(
wxCommandEvent
&
event
);
void
OnAddDir
(
wxCommandEvent
&
event
);
void
OnAddMRL
(
wxCommandEvent
&
event
);
void
OnAddMRL
(
wxCommandEvent
&
event
);
void
OnClose
(
wxCommandEvent
&
event
);
void
OnClose
(
wxCommandEvent
&
event
);
void
OnSearch
(
wxCommandEvent
&
event
);
void
OnEnDis
(
wxCommandEvent
&
event
);
void
OnEnableSelection
(
wxCommandEvent
&
event
);
void
OnInfos
(
wxCommandEvent
&
event
);
void
OnDisableSelection
(
wxCommandEvent
&
event
);
void
OnSearchTextChange
(
wxCommandEvent
&
event
);
void
OnInvertSelection
(
wxCommandEvent
&
event
);
void
OnDeleteSelection
(
wxCommandEvent
&
event
);
void
OnSelectAll
(
wxCommandEvent
&
event
);
void
OnOpen
(
wxCommandEvent
&
event
);
void
OnOpen
(
wxCommandEvent
&
event
);
void
OnSave
(
wxCommandEvent
&
event
);
void
OnSave
(
wxCommandEvent
&
event
);
/* Search (user) */
void
OnSearch
(
wxCommandEvent
&
event
);
void
OnSearchTextChange
(
wxCommandEvent
&
event
);
wxTextCtrl
*
search_text
;
wxButton
*
search_button
;
wxTreeItemId
search_current
;
void
OnEnDis
(
wxCommandEvent
&
event
);
/* Sort */
int
i_sort_mode
;
void
OnSort
(
wxCommandEvent
&
event
);
void
OnSort
(
wxCommandEvent
&
event
);
int
i_title_sorted
;
int
i_group_sorted
;
int
i_duration_sorted
;
/* Dynamic menus */
void
OnMenuEvent
(
wxCommandEvent
&
event
);
void
OnMenuEvent
(
wxCommandEvent
&
event
);
void
OnMenuOpen
(
wxMenuEvent
&
event
);
void
OnMenuOpen
(
wxMenuEvent
&
event
);
wxMenu
*
p_view_menu
;
wxMenu
*
p_sd_menu
;
wxMenu
*
ViewMenu
();
wxMenu
*
ViewMenu
();
wxMenu
*
SDMenu
();
wxMenu
*
SDMenu
();
void
OnUp
(
wxCommandEvent
&
event
);
void
OnUp
(
wxCommandEvent
&
event
);
void
OnDown
(
wxCommandEvent
&
event
);
void
OnDown
(
wxCommandEvent
&
event
);
void
OnEnableSelection
(
wxCommandEvent
&
event
);
void
OnDisableSelection
(
wxCommandEvent
&
event
);
void
OnInvertSelection
(
wxCommandEvent
&
event
);
void
OnDeleteSelection
(
wxCommandEvent
&
event
);
void
OnSelectAll
(
wxCommandEvent
&
event
);
void
OnRandom
(
wxCommandEvent
&
event
);
void
OnRandom
(
wxCommandEvent
&
event
);
void
OnRepeat
(
wxCommandEvent
&
event
);
void
OnRepeat
(
wxCommandEvent
&
event
);
void
OnLoop
(
wxCommandEvent
&
event
);
void
OnLoop
(
wxCommandEvent
&
event
);
...
@@ -827,7 +839,11 @@ private:
...
@@ -827,7 +839,11 @@ private:
void
OnKeyDown
(
wxTreeEvent
&
event
);
void
OnKeyDown
(
wxTreeEvent
&
event
);
void
OnNewGroup
(
wxCommandEvent
&
event
);
void
OnNewGroup
(
wxCommandEvent
&
event
);
/* Popup functions */
/* Popup */
wxMenu
*
popup_menu
;
wxTreeItemId
i_popup_item
;
playlist_item_t
*
p_popup_item
;
playlist_item_t
*
p_popup_parent
;
void
OnPopup
(
wxContextMenuEvent
&
event
);
void
OnPopup
(
wxContextMenuEvent
&
event
);
void
OnPopupPlay
(
wxMenuEvent
&
event
);
void
OnPopupPlay
(
wxMenuEvent
&
event
);
void
OnPopupSort
(
wxMenuEvent
&
event
);
void
OnPopupSort
(
wxMenuEvent
&
event
);
...
@@ -840,46 +856,34 @@ private:
...
@@ -840,46 +856,34 @@ private:
void
UpdateNode
(
playlist_t
*
,
playlist_item_t
*
,
wxTreeItemId
);
void
UpdateNode
(
playlist_t
*
,
playlist_item_t
*
,
wxTreeItemId
);
void
UpdateNodeChildren
(
playlist_t
*
,
playlist_item_t
*
,
wxTreeItemId
);
void
UpdateNodeChildren
(
playlist_t
*
,
playlist_item_t
*
,
wxTreeItemId
);
void
CreateNode
(
playlist_t
*
,
playlist_item_t
*
,
wxTreeItemId
);
void
CreateNode
(
playlist_t
*
,
playlist_item_t
*
,
wxTreeItemId
);
void
UpdateTreeItem
(
playlist_t
*
,
wxTreeItemId
);
void
SetCurrentItem
(
wxTreeItemId
);
/* Search (internal) */
int
CountItems
(
wxTreeItemId
);
wxTreeItemId
FindItem
(
wxTreeItemId
,
playlist_item_t
*
);
wxTreeItemId
FindItem
(
wxTreeItemId
,
playlist_item_t
*
);
wxTreeItemId
FindItemByName
(
wxTreeItemId
,
wxString
,
wxTreeItemId
,
vlc_bool_t
*
);
wxTreeItemId
FindItemByName
(
wxTreeItemId
,
wxString
,
void
SetCurrentItem
(
wxTreeItemId
);
wxTreeItemId
,
vlc_bool_t
*
);
void
UpdateTreeItem
(
playlist_t
*
,
wxTreeItemId
);
/* Custom events */
/* Custom events */
void
OnPlaylistEvent
(
wxCommandEvent
&
event
);
void
OnPlaylistEvent
(
wxCommandEvent
&
event
);
wxTextCtrl
*
search_text
;
wxButton
*
search_button
;
DECLARE_EVENT_TABLE
();
DECLARE_EVENT_TABLE
();
wxMenu
*
popup_menu
;
wxMenu
*
p_view_menu
;
wxMenu
*
p_sd_menu
;
char
**
pp_sds
;
/* Global widgets */
wxStatusBar
*
statusbar
;
wxStatusBar
*
statusbar
;
ItemInfoDialog
*
iteminfo_dialog
;
ItemInfoDialog
*
iteminfo_dialog
;
intf_thread_t
*
p_intf
;
wxTreeCtrl
*
treectrl
;
int
i_update_counter
;
int
i_update_counter
;
int
i_sort_mode
;
intf_thread_t
*
p_intf
;
wxTreeCtrl
*
treectrl
;
int
i_current_view
;
int
i_current_view
;
vlc_bool_t
b_changed_view
;
char
**
pp_sds
;
wxTreeItemId
i_popup_item
;
wxTreeItemId
search_current
;
playlist_item_t
*
p_popup_item
;
playlist_item_t
*
p_popup_parent
;
int
i_title_sorted
;
int
i_author_sorted
;
int
i_group_sorted
;
int
i_duration_sorted
;
};
};
/* ItemInfo Dialog */
/* ItemInfo Dialog */
...
@@ -923,7 +927,6 @@ private:
...
@@ -923,7 +927,6 @@ private:
wxTreeCtrl
*
info_tree
;
wxTreeCtrl
*
info_tree
;
wxTreeItemId
info_root
;
wxTreeItemId
info_root
;
wxCheckBox
*
enabled_checkbox
;
};
};
...
...
modules/services_discovery/sap.c
View file @
f5009d6f
...
@@ -738,20 +738,21 @@ static int ParseSAP( services_discovery_t *p_sd, uint8_t *p_buffer, int i_read )
...
@@ -738,20 +738,21 @@ static int ParseSAP( services_discovery_t *p_sd, uint8_t *p_buffer, int i_read )
}
}
/* Decide whether we should add a playlist item for this SDP */
/* Decide whether we should add a playlist item for this SDP */
/* Parse connection information (c= & m= ) */
if
(
ParseConnection
(
VLC_OBJECT
(
p_sd
),
p_sdp
)
)
{
p_sdp
->
psz_uri
=
NULL
;
}
/* Multi-media or no-parse -> pass to LIVE.COM */
/* Multi-media or no-parse -> pass to LIVE.COM */
if
(
p_sdp
->
i_media
>
1
||
p_sd
->
p_sys
->
b_parse
==
VLC_FALSE
)
if
(
p_sdp
->
i_media
>
1
||
(
p_sdp
->
i_media_type
!=
14
&&
p_sdp
->
i_media_type
!=
32
&&
p_sdp
->
i_media_type
!=
33
)
||
p_sd
->
p_sys
->
b_parse
==
VLC_FALSE
)
{
{
if
(
p_sdp
->
psz_uri
)
free
(
p_sdp
->
psz_uri
);
asprintf
(
&
p_sdp
->
psz_uri
,
"sdp://%s"
,
p_sdp
->
psz_sdp
);
asprintf
(
&
p_sdp
->
psz_uri
,
"sdp://%s"
,
p_sdp
->
psz_sdp
);
}
}
else
{
/* Parse connection information (c= & m= ) */
if
(
ParseConnection
(
VLC_OBJECT
(
p_sd
),
p_sdp
)
)
{
p_sdp
->
psz_uri
=
NULL
;
}
}
if
(
p_sdp
->
psz_uri
==
NULL
)
return
VLC_EGENERIC
;
if
(
p_sdp
->
psz_uri
==
NULL
)
return
VLC_EGENERIC
;
...
...
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