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
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 * );
#define RECONNECT_LONGTEXT N_("Will automatically attempt a re-connection " \
"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
();
set_description
(
_
(
"HTTP input"
)
);
set_capability
(
"access2"
,
0
);
...
...
@@ -81,10 +85,13 @@ vlc_module_begin();
AGENT_LONGTEXT
,
VLC_FALSE
);
add_bool
(
"http-reconnect"
,
0
,
NULL
,
RECONNECT_TEXT
,
RECONNECT_LONGTEXT
,
VLC_TRUE
);
add_bool
(
"http-continuous"
,
0
,
NULL
,
CONTINUOUS_TEXT
,
CONTINUOUS_LONGTEXT
,
VLC_TRUE
);
add_shortcut
(
"http"
);
add_shortcut
(
"http4"
);
add_shortcut
(
"http6"
);
add_shortcut
(
"unsv"
);
set_callbacks
(
Open
,
Close
);
vlc_module_end
();
...
...
@@ -124,8 +131,11 @@ struct access_sys_t
char
*
psz_icy_genre
;
char
*
psz_icy_title
;
int
i_remaining
;
vlc_bool_t
b_seekable
;
vlc_bool_t
b_reconnect
;
vlc_bool_t
b_continuous
;
vlc_bool_t
b_pace_control
;
};
...
...
@@ -137,6 +147,7 @@ static int Control( access_t *, int, va_list );
/* */
static
void
ParseURL
(
access_sys_t
*
,
char
*
psz_url
);
static
int
Connect
(
access_t
*
,
int64_t
);
static
int
Request
(
access_t
*
p_access
,
int64_t
i_tell
);
/*****************************************************************************
* Open:
...
...
@@ -201,6 +212,7 @@ static int Open( vlc_object_t *p_this )
p_sys
->
psz_icy_name
=
NULL
;
p_sys
->
psz_icy_genre
=
NULL
;
p_sys
->
psz_icy_title
=
NULL
;
p_sys
->
i_remaining
=
0
;
/* Parse URI */
ParseURL
(
p_sys
,
p_access
->
psz_path
);
...
...
@@ -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_continuous
=
var_CreateGetBool
(
p_access
,
"http-continuous"
);
/* Connect */
if
(
Connect
(
p_access
,
0
)
)
...
...
@@ -420,6 +433,7 @@ static int Read( access_t *p_access, uint8_t *p_buffer, int i_len )
return
0
;
}
}
if
(
p_sys
->
b_chunked
)
{
if
(
p_sys
->
i_chunk
<
0
)
...
...
@@ -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
)
{
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
;
if
(
i_next
==
p_sys
->
i_icy_meta
)
{
if
(
ReadICYMeta
(
p_access
)
)
...
...
@@ -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
);
if
(
i_read
>
0
)
{
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 )
}
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
)
{
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 )
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
;
}
...
...
@@ -760,6 +800,14 @@ static int Connect( access_t *p_access, int64_t i_tell )
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
->
url
.
psz_path
)
...
...
@@ -792,7 +840,7 @@ static int Connect( access_t *p_access, int64_t i_tell )
p_sys
->
url
.
i_port
);
}
else
{
{
net_Printf
(
VLC_OBJECT
(
p_access
),
p_sys
->
fd
,
NULL
,
"GET %s HTTP/1.%d
\r\n
Host: %s
\r\n
"
,
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 )
net_Printf
(
VLC_OBJECT
(
p_access
),
p_sys
->
fd
,
NULL
,
"Range: bytes="
I64Fd
"-
\r\n
"
,
i_tell
);
}
/* Authentification */
if
(
p_sys
->
psz_user
&&
*
p_sys
->
psz_user
)
{
...
...
@@ -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
,
"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
)
{
...
...
@@ -907,8 +966,17 @@ static int Connect( access_t *p_access, int64_t i_tell )
if
(
!
strcasecmp
(
psz
,
"Content-Length"
)
)
{
p_access
->
info
.
i_size
=
i_tell
+
atoll
(
p
);
msg_Dbg
(
p_access
,
"stream size="
I64Fd
,
p_access
->
info
.
i_size
);
if
(
p_sys
->
b_continuous
)
{
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"
)
)
{
...
...
@@ -924,7 +992,7 @@ static int Connect( access_t *p_access, int64_t i_tell )
else
if
(
!
strcasecmp
(
psz
,
"Pragma"
)
)
{
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
);
p_sys
->
psz_pragma
=
strdup
(
p
);
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 )
if
(
!
strncasecmp
(
p
,
"Icecast"
,
7
)
||
!
strncasecmp
(
p
,
"Nanocaster"
,
10
)
)
{
/* Remember if this is Icecast
* we need to force mp3 in some cases without breaking autodetection */
/* Remember if this is Icecast
* we need to force mp3 in some cases without breaking
* autodetection */
/* Let live
365 streams (nanocaster) piggyback on the icecast routine.
* They look very similar */
/* Let live
65 streams (nanocaster) piggyback on the icecast
*
routine.
They look very similar */
p_sys
->
b_reconnect
=
VLC_TRUE
;
p_sys
->
b_pace_control
=
VLC_FALSE
;
...
...
modules/codec/cmml/cmml.c
View file @
f5009d6f
...
...
@@ -37,7 +37,7 @@
#include "xtag.h"
#undef CMML_DEBUG
#undef
CMML_DEBUG
/*****************************************************************************
* decoder_sys_t : decoder descriptor
...
...
@@ -50,12 +50,12 @@ struct decoder_sys_t
/*****************************************************************************
* Local prototypes
*****************************************************************************/
static
int
OpenDecoder
(
vlc_object_t
*
);
static
void
CloseDecoder
(
vlc_object_t
*
);
static
int
OpenDecoder
(
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
...
...
@@ -140,17 +140,32 @@ static int OpenDecoder( vlc_object_t *p_this )
****************************************************************************
* 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
)
{
return
;
return
NULL
;
}
ParseText
(
p_dec
,
*
pp_block
);
block_Release
(
*
pp_block
);
*
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 @@
#undef CMML_INTF_USE_TIMED_URIS
#undef CMML_INTF_DEBUG
#undef CMML_INTF_SUBPICTURE_DEBUG
#undef CMML_INTF_HISTORY_DEBUG
/*****************************************************************************
...
...
@@ -149,10 +148,11 @@ void E_(CloseIntf) ( vlc_object_t *p_this )
msg_Dbg
(
p_intf
,
"freeing CMML interface"
);
#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
);
if
(
p_vout
)
{
/* enable CMML as a subtitle track */
spu_Control
(
p_vout
->
p_spu
,
SPU_CHANNEL_CLEAR
,
DEFAULT_CHAN
);
vlc_object_release
(
p_vout
);
}
...
...
@@ -160,7 +160,7 @@ void E_(CloseIntf) ( vlc_object_t *p_this )
var_DelCallback
(
p_intf
->
p_vlc
,
"key-pressed"
,
KeyEvent
,
p_intf
);
vlc_object_release
(
p_intf
->
p_sys
->
p_cmml_decoder
);
free
(
p_intf
->
p_sys
);
}
...
...
@@ -484,7 +484,7 @@ static void FollowAnchor ( intf_thread_t *p_intf )
history_t
*
p_history
=
NULL
;
history_item_t
*
p_history_item
=
NULL
;
char
*
psz_timed_url
;
p_history
=
GetHistory
(
p_playlist
);
/* create history item */
...
...
@@ -821,9 +821,8 @@ static int DisplayAnchor( intf_thread_t *p_intf,
if
(
psz_anchor_url
)
{
/* Should display subtitle underlined and in blue,
* but it looks like VLC doesn't implement any
* text styles yet. D'oh! */
/* Should display subtitle underlined and in blue, but it looks
* like VLC doesn't implement any text styles yet. D'oh! */
p_style
=
&
blue_with_underline
;
}
...
...
@@ -836,11 +835,6 @@ static int DisplayAnchor( intf_thread_t *p_intf,
i_margin_h
,
i_margin_v
,
i_now
,
0
)
==
VLC_SUCCESS
)
{
/* 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
{
...
...
modules/codec/speex.c
View file @
f5009d6f
...
...
@@ -463,8 +463,8 @@ static aout_buffer_t *DecodePacket( decoder_t *p_dec, ogg_packet *p_oggpacket )
return
NULL
;
}
i_ret
=
speex_decode
(
p_sys
->
p_state
,
&
p_sys
->
bits
,
(
int16_t
*
)
p_aout_buffer
->
p_buffer
);
i_ret
=
speex_decode
_int
(
p_sys
->
p_state
,
&
p_sys
->
bits
,
(
int16_t
*
)
p_aout_buffer
->
p_buffer
);
if
(
i_ret
==
-
1
)
{
/* End of stream */
...
...
@@ -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
)
speex_decode_stereo
(
(
int16_t
*
)
p_aout_buffer
->
p_buffer
,
p_sys
->
p_header
->
frame_size
,
&
p_sys
->
stereo
);
speex_decode_stereo_int
(
(
int16_t
*
)
p_aout_buffer
->
p_buffer
,
p_sys
->
p_header
->
frame_size
,
&
p_sys
->
stereo
);
/* Date management */
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 )
/* Encode current frame */
if
(
p_enc
->
fmt_in
.
audio
.
i_channels
==
2
)
speex_encode_stereo
(
p_samples
,
p_sys
->
i_frame_length
,
&
p_sys
->
bits
);
speex_encode_stereo
_int
(
p_samples
,
p_sys
->
i_frame_length
,
&
p_sys
->
bits
);
#if 0
if( p_sys->preprocess )
speex_preprocess( p_sys->preprocess, p_samples, NULL );
#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_sys
->
i_samples_delay
-=
p_sys
->
i_frame_length
;
...
...
modules/demux/mjpeg.c
View file @
f5009d6f
...
...
@@ -65,6 +65,7 @@ struct demux_sys_t
vlc_bool_t
b_still
;
mtime_t
i_still_end
;
mtime_t
i_still_length
;
mtime_t
i_time
;
mtime_t
i_frame_length
;
...
...
@@ -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.
*****************************************************************************/
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 )
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
;
...
...
@@ -327,6 +328,11 @@ static int Open( vlc_object_t * p_this )
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 */
p_sys
->
b_still
=
VLC_FALSE
;
p_sys
->
i_still_end
=
0
;
...
...
@@ -335,12 +341,17 @@ static int Open( vlc_object_t * p_this )
!
strcasecmp
(
psz_ext
,
".jpg"
)
)
)
{
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
;
}
}
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
)
else
if
(
val
.
f_float
)
{
p_sys
->
i_frame_length
=
1000000
.
0
/
val
.
f_float
;
}
...
...
@@ -373,7 +384,7 @@ static int MjpgDemux( demux_t *p_demux )
}
else
if
(
p_sys
->
b_still
&&
p_sys
->
i_still_end
)
{
msleep
(
400
00
);
msleep
(
400
);
return
1
;
}
...
...
modules/demux/ogg.c
View file @
f5009d6f
...
...
@@ -1338,6 +1338,13 @@ static void Ogg_ReadAnnodexHeader( vlc_object_t *p_this,
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
)
)
{
p_stream
->
fmt
.
i_cat
=
VIDEO_ES
;
...
...
modules/gui/skins2/src/vout_window.hpp
View file @
f5009d6f
...
...
@@ -30,24 +30,18 @@ class OSGraphics;
/// Class to handle a video output window
class
VoutWindow
:
p
ublic
GenericWindow
class
VoutWindow
:
p
rivate
GenericWindow
{
public:
VoutWindow
(
intf_thread_t
*
pIntf
,
int
xPos
,
int
yPos
,
bool
dragDrop
,
bool
playOnDrop
,
GenericWindow
&
rParent
);
virtual
~
VoutWindow
();
///
These methods are redefined here to make them
public
///
Make some functions
public
//@{
/// Show the window
virtual
void
show
()
{
GenericWindow
::
show
();
}
/// Hide the window
virtual
void
hide
()
{
GenericWindow
::
hide
();
}
/// Move the window
virtual
void
move
(
int
left
,
int
top
)
{
GenericWindow
::
move
(
left
,
top
);
}
using
GenericWindow
::
show
;
using
GenericWindow
::
hide
;
using
GenericWindow
::
move
;
//@}
/// Resize the window
...
...
modules/gui/wxwindows/iteminfo.cpp
View file @
f5009d6f
...
...
@@ -223,22 +223,6 @@ void ItemInfoDialog::OnOk( wxCommandEvent& WXUNUSED(event) )
p_item
->
input
.
psz_uri
=
strdup
(
uri_text
->
GetLineText
(
0
).
mb_str
()
);
playlist_ItemAddInfo
(
p_item
,
"General"
,
"Author"
,
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
);
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:
private:
void
DeleteItem
(
int
item
);
void
ShowInfos
(
int
item
);
void
DeleteNode
(
playlist_item_t
*
node
);
/* Event handlers (these functions should _not_ be virtual) */
void
OnSize
(
wxSizeEvent
&
event
);
/* Menu Handlers */
void
OnAddFile
(
wxCommandEvent
&
event
);
void
OnAddDir
(
wxCommandEvent
&
event
);
void
OnAddMRL
(
wxCommandEvent
&
event
);
void
OnClose
(
wxCommandEvent
&
event
);
void
OnSearch
(
wxCommandEvent
&
event
);
void
OnEnDis
(
wxCommandEvent
&
event
);
void
OnInfos
(
wxCommandEvent
&
event
);
void
OnSearchTextChange
(
wxCommandEvent
&
event
);
void
OnEnableSelection
(
wxCommandEvent
&
event
);
void
OnDisableSelection
(
wxCommandEvent
&
event
);
void
OnInvertSelection
(
wxCommandEvent
&
event
);
void
OnDeleteSelection
(
wxCommandEvent
&
event
);
void
OnSelectAll
(
wxCommandEvent
&
event
);
void
OnOpen
(
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
);
int
i_title_sorted
;
int
i_group_sorted
;
int
i_duration_sorted
;
/* Dynamic menus */
void
OnMenuEvent
(
wxCommandEvent
&
event
);
void
OnMenuOpen
(
wxMenuEvent
&
event
);
wxMenu
*
p_view_menu
;
wxMenu
*
p_sd_menu
;
wxMenu
*
ViewMenu
();
wxMenu
*
SDMenu
();
void
OnUp
(
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
OnRepeat
(
wxCommandEvent
&
event
);
void
OnLoop
(
wxCommandEvent
&
event
);
...
...
@@ -827,7 +839,11 @@ private:
void
OnKeyDown
(
wxTreeEvent
&
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
OnPopupPlay
(
wxMenuEvent
&
event
);
void
OnPopupSort
(
wxMenuEvent
&
event
);
...
...
@@ -840,46 +856,34 @@ private:
void
UpdateNode
(
playlist_t
*
,
playlist_item_t
*
,
wxTreeItemId
);
void
UpdateNodeChildren
(
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
FindItemByName
(
wxTreeItemId
,
wxString
,
wxTreeItemId
,
vlc_bool_t
*
);
void
SetCurrentItem
(
wxTreeItemId
);
void
UpdateTreeItem
(
playlist_t
*
,
wxTreeItemId
);
wxTreeItemId
FindItemByName
(
wxTreeItemId
,
wxString
,
wxTreeItemId
,
vlc_bool_t
*
);
/* Custom events */
void
OnPlaylistEvent
(
wxCommandEvent
&
event
);
wxTextCtrl
*
search_text
;
wxButton
*
search_button
;
DECLARE_EVENT_TABLE
();
wxMenu
*
popup_menu
;
wxMenu
*
p_view_menu
;
wxMenu
*
p_sd_menu
;
char
**
pp_sds
;
/* Global widgets */
wxStatusBar
*
statusbar
;
ItemInfoDialog
*
iteminfo_dialog
;
intf_thread_t
*
p_intf
;
wxTreeCtrl
*
treectrl
;
int
i_update_counter
;
int
i_sort_mode
;
intf_thread_t
*
p_intf
;
wxTreeCtrl
*
treectrl
;
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 */
...
...
@@ -923,7 +927,6 @@ private:
wxTreeCtrl
*
info_tree
;
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 )
}
/* 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 */
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
);
}
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
;
...
...
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