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
Show 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,6 +468,19 @@ 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
-
...
...
@@ -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
)
...
...
@@ -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
)
{
...
...
@@ -906,10 +965,19 @@ static int Connect( access_t *p_access, int64_t i_tell )
while
(
*
p
==
' '
)
p
++
;
if
(
!
strcasecmp
(
psz
,
"Content-Length"
)
)
{
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"
)
)
{
if
(
p_sys
->
psz_location
)
free
(
p_sys
->
psz_location
);
...
...
@@ -936,10 +1004,11 @@ static int Connect( access_t *p_access, int64_t i_tell )
!
strncasecmp
(
p
,
"Nanocaster"
,
10
)
)
{
/* 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.
* 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
...
...
@@ -53,7 +53,7 @@ struct decoder_sys_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
*
);
...
...
@@ -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
);
}
...
...
@@ -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,7 +463,7 @@ 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
,
i_ret
=
speex_decode
_int
(
p_sys
->
p_state
,
&
p_sys
->
bits
,
(
int16_t
*
)
p_aout_buffer
->
p_buffer
);
if
(
i_ret
==
-
1
)
{
...
...
@@ -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,7 +745,7 @@ 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
,
speex_encode_stereo
_int
(
p_samples
,
p_sys
->
i_frame_length
,
&
p_sys
->
bits
);
#if 0
...
...
@@ -752,7 +753,7 @@ static block_t *Encode( encoder_t *p_enc, aout_buffer_t *p_aout_buf )
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
;
...
...
@@ -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
;
}
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
{
/* Defaults to 1fps */
p_sys
->
i_still_length
=
1000000
;
}
}
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,19 +738,20 @@ 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 */
/* Multi-media or no-parse -> pass to LIVE.COM */
if
(
p_sdp
->
i_media
>
1
||
p_sd
->
p_sys
->
b_parse
==
VLC_FALSE
)
{
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
;
}
/* Multi-media or no-parse -> pass to LIVE.COM */
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
);
}
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