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
3edc65f5
Commit
3edc65f5
authored
May 30, 2004
by
Clément Stenac
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move streaming data to a separate file (will have to be moved to /include)
parent
c02badf8
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
241 additions
and
177 deletions
+241
-177
modules/gui/wxwindows/playlist.cpp
modules/gui/wxwindows/playlist.cpp
+1
-1
modules/gui/wxwindows/streamdata.h
modules/gui/wxwindows/streamdata.h
+180
-0
modules/gui/wxwindows/streamout.cpp
modules/gui/wxwindows/streamout.cpp
+46
-39
modules/gui/wxwindows/wizard.cpp
modules/gui/wxwindows/wizard.cpp
+14
-137
No files found.
modules/gui/wxwindows/playlist.cpp
View file @
3edc65f5
...
...
@@ -355,8 +355,8 @@ Playlist::Playlist( intf_thread_t *_p_intf, wxWindow *p_parent ):
updown_sizer
->
Add
(
down_button
,
0
,
wxALIGN_LEFT
|
wxLEFT
,
3
);
updown_sizer
->
Layout
();
wxBoxSizer
*
checkbox_sizer
=
new
wxBoxSizer
(
wxHORIZONTAL
);
#if 0
wxBoxSizer *checkbox_sizer = new wxBoxSizer( wxHORIZONTAL );
//checkbox_sizer->Add( random_checkbox, 0,
// wxEXPAND | wxALIGN_RIGHT | wxALL, 5);
//checkbox_sizer->Add( loop_checkbox, 0,
...
...
modules/gui/wxwindows/streamdata.h
0 → 100644
View file @
3edc65f5
/*****************************************************************************
* streamdata.h: streaming/transcoding data
*****************************************************************************
* Copyright (C) 2000-2004 VideoLAN
* $Id: wizard.cpp 7826 2004-05-30 14:43:12Z zorglub $
*
* Authors: Clment Stenac <zorglub@videolan.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
#define MUX_PS 0
#define MUX_TS 1
#define MUX_MPEG 2
#define MUX_OGG 3
#define MUX_RAW 4
#define MUX_ASF 5
#define MUX_AVI 6
#define MUX_MP4 7
#define MUX_MOV 8
/* Muxer / Codecs / Access_out compatibility tables */
struct
codec
{
char
*
psz_display
;
char
*
psz_codec
;
char
*
psz_descr
;
int
muxers
[
9
];
};
static
struct
codec
vcodecs_array
[]
=
{
{
"MPEG-1 Video"
,
"mp1v"
,
"MPEG-1 Video codec"
,
{
MUX_PS
,
MUX_TS
,
MUX_MPEG
,
MUX_OGG
,
MUX_AVI
,
MUX_RAW
,
-
1
,
-
1
,
-
1
}
},
{
"MPEG-2 Video"
,
"mp2v"
,
"MPEG-2 Video codec"
,
{
MUX_PS
,
MUX_TS
,
MUX_MPEG
,
MUX_OGG
,
MUX_AVI
,
MUX_RAW
,
-
1
,
-
1
,
-
1
}
},
{
"MPEG-4 Video"
,
"mp4v"
,
"MPEG-4 Video codec"
,
{
MUX_PS
,
MUX_TS
,
MUX_MPEG
,
MUX_ASF
,
MUX_MP4
,
MUX_OGG
,
MUX_AVI
,
MUX_RAW
,
-
1
}
},
{
"DIVX 1"
,
"DIV1"
,
"Divx first version"
,
{
MUX_TS
,
MUX_MPEG
,
MUX_ASF
,
MUX_OGG
,
MUX_AVI
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"DIVX 2"
,
"DIV2"
,
"Divx second version"
,
{
MUX_TS
,
MUX_MPEG
,
MUX_ASF
,
MUX_OGG
,
MUX_AVI
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"DIVX 3"
,
"DIV3"
,
"Divx third version"
,
{
MUX_TS
,
MUX_MPEG
,
MUX_ASF
,
MUX_OGG
,
MUX_AVI
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"H 263"
,
"H263"
,
"H263 is ..."
,
{
MUX_TS
,
MUX_AVI
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"I 263"
,
"I263"
,
"I263 is ..."
,
{
MUX_TS
,
MUX_AVI
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"WMV 1"
,
"WMV1"
,
"First version of WMV"
,
{
MUX_TS
,
MUX_MPEG
,
MUX_ASF
,
MUX_OGG
,
MUX_AVI
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"WMV 2"
,
"WMV2"
,
"2 version of WMV"
,
{
MUX_TS
,
MUX_MPEG
,
MUX_ASF
,
MUX_OGG
,
MUX_AVI
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"MJPEG"
,
"MJPG"
,
"MJPEG consists of a series of JPEG pictures"
,
{
MUX_TS
,
MUX_MPEG
,
MUX_ASF
,
MUX_OGG
,
MUX_AVI
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"Theora"
,
"theo"
,
"Experimental free codec"
,
{
MUX_TS
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"Dummy"
,
"dummy"
,
"Dummy codec (do not transcode)"
,
{
MUX_PS
,
MUX_TS
,
MUX_MPEG
,
MUX_ASF
,
MUX_MP4
,
MUX_OGG
,
MUX_AVI
,
MUX_RAW
,
MUX_MOV
}},
{
NULL
,
NULL
,
NULL
,
{
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
}}
/* Do not remove me */
};
static
struct
codec
acodecs_array
[]
=
{
{
"MPEG Audio"
,
"mpga"
,
"The standard MPEG audio (1/2) format"
,
{
MUX_PS
,
MUX_TS
,
MUX_MPEG
,
MUX_ASF
,
MUX_OGG
,
MUX_AVI
,
MUX_RAW
,
-
1
,
-
1
}
},
{
"MP3"
,
"mp3"
,
"MPEG Audio Layer 3"
,
{
MUX_PS
,
MUX_TS
,
MUX_MPEG
,
MUX_ASF
,
MUX_OGG
,
MUX_AVI
,
MUX_RAW
,
-
1
,
-
1
}
},
{
"MPEG 4 Audio"
,
"mp4a"
,
"Audio format for MPEG4"
,
{
MUX_TS
,
MUX_MP4
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"A/52"
,
"a52"
,
"DVD audio format"
,
{
MUX_PS
,
MUX_TS
,
MUX_MPEG
,
MUX_ASF
,
MUX_OGG
,
MUX_AVI
,
MUX_RAW
,
-
1
,
-
1
}
},
{
"Vorbis"
,
"vorb"
,
"This is a free audio codec"
,
{
MUX_OGG
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"FLAC"
,
"flac"
,
"This is an audio codec"
,
{
MUX_OGG
,
MUX_RAW
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"Speex"
,
"spx"
,
"An audio codec dedicated to compression of voice"
,
{
MUX_OGG
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"Dummy"
,
"dummy"
,
"Dummy codec (do not transcode)"
,
{
MUX_PS
,
MUX_TS
,
MUX_MPEG
,
MUX_ASF
,
MUX_MP4
,
MUX_OGG
,
MUX_AVI
,
MUX_RAW
,
MUX_MOV
}},
{
NULL
,
NULL
,
NULL
,
{
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
}}
/* Do not remove me */
};
struct
method
{
char
*
psz_access
;
char
*
psz_method
;
char
*
psz_descr
;
char
*
psz_address
;
int
muxers
[
9
];
};
static
struct
method
methods_array
[]
=
{
{
"udp:"
,
"UDP Unicast"
,
"Use this to stream to a single computer"
,
"Enter the address of the computer to stream to"
,
{
MUX_TS
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"udp:"
,
"UDP Multicast"
,
"Use this to stream to a dynamic group of computers on a "
"multicast-enabled network. This is the most efficient method "
"to stream to several computers, but it does not work over Internet."
,
"Enter the multicast address to stream to in this field. "
"This must be an IP address between 224.0.0.0 an 239.255.255.255 "
"For a private use, enter an address beginning with 239.255."
,
{
MUX_TS
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"http://"
,
"HTTP"
,
"Use this to stream to several computers. This method is "
"less efficient, as the server needs to send several times the "
"stream."
,
"Enter the local addresses you want to listen to. Do not enter "
"anything if you want to listen to all adresses or if you don't "
"understand. This is generally the best thing to do. Other computers "
"can then access the stream at http://yourip:8080 by default"
,
{
MUX_TS
,
MUX_PS
,
MUX_MPEG
,
MUX_OGG
,
MUX_RAW
,
MUX_ASF
,
-
1
,
-
1
,
-
1
}
},
{
NULL
,
NULL
,
NULL
,
NULL
,
{
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
}}
/* Do not remove me */
};
struct
encap
{
int
id
;
char
*
psz_mux
;
char
*
psz_encap
;
char
*
psz_descr
;
};
static
struct
encap
encaps_array
[]
=
{
{
MUX_PS
,
"ps"
,
"MPEG PS"
,
"MPEG Program Stream"
},
{
MUX_TS
,
"ts"
,
"MPEG TS"
,
"MPEG Transport Stream"
},
{
MUX_MPEG
,
"ps"
,
"MPEG 1"
,
"MPEG 1 Format"
},
{
MUX_OGG
,
"ogg"
,
"OGG"
,
"OGG"
},
{
MUX_RAW
,
"raw"
,
"RAW"
,
"RAW"
},
{
MUX_ASF
,
"asf"
,
"ASF"
,
"ASF"
},
{
MUX_AVI
,
"avi"
,
"AVI"
,
"AVI"
},
{
MUX_MP4
,
"mp4"
,
"MP4"
,
"MPEG4"
},
{
MUX_MOV
,
"mov"
,
"MOV"
,
"MOV"
},
{
-
1
,
NULL
,
NULL
,
NULL
}
/* Do not remove me */
};
/* Bitrates arrays */
static
const
wxString
vbitrates_array
[]
=
{
wxT
(
"3072"
),
wxT
(
"2048"
),
wxT
(
"1024"
),
wxT
(
"768"
),
wxT
(
"512"
),
wxT
(
"384"
),
wxT
(
"256"
),
wxT
(
"192"
),
wxT
(
"128"
),
wxT
(
"96"
),
wxT
(
"64"
),
wxT
(
"32"
),
wxT
(
"16"
)
};
static
const
wxString
abitrates_array
[]
=
{
wxT
(
"512"
),
wxT
(
"256"
),
wxT
(
"192"
),
wxT
(
"128"
),
wxT
(
"96"
),
wxT
(
"64"
),
wxT
(
"32"
),
wxT
(
"16"
)
};
modules/gui/wxwindows/streamout.cpp
View file @
3edc65f5
...
...
@@ -36,6 +36,8 @@
#include <wx/combobox.h>
#include <wx/statline.h>
#include "streamdata.h"
#ifndef wxRB_SINGLE
# define wxRB_SINGLE 0
#endif
...
...
@@ -624,7 +626,7 @@ wxPanel *SoutDialog::TranscodingPanel( wxWindow* parent )
wxVERTICAL
);
/* Create video transcoding checkox */
static
const
wxString
vcodecs_array
[]
=
static
const
wxString
wx
vcodecs_array
[]
=
{
wxT
(
"mp1v"
),
wxT
(
"mp2v"
),
...
...
@@ -639,32 +641,34 @@ wxPanel *SoutDialog::TranscodingPanel( wxWindow* parent )
wxT
(
"MJPG"
),
wxT
(
"theo"
)
};
/*
static const wxString vbitrates_array[] =
{
wxT
(
"3072"
),
wxT
(
"2048"
),
wxT
(
"1024"
),
wxT
(
"768"
),
wxT
(
"512"
),
wxT
(
"384"
),
wxT
(
"256"
),
wxT
(
"192"
),
wxT
(
"128"
),
wxT
(
"96"
),
wxT
(
"64"
),
wxT
(
"32"
),
wxT
(
"16"
)
wxT("3072"),
wxT("2048"),
wxT("1024"),
wxT("768"),
wxT("512"),
wxT("384"),
wxT("256"),
wxT("192"),
wxT("128"),
wxT("96"),
wxT("64"),
wxT("32"),
wxT("16")
};
*/
static
const
wxString
vscales_array
[]
=
{
wxT
(
"0.25"
),
wxT
(
"0.5"
),
wxT
(
"0.75"
),
wxT
(
"1"
),
wxT
(
"1.25"
),
wxT
(
"1.5"
),
wxT
(
"1.75"
),
wxT
(
"2"
)
wxT
(
"0.25"
),
wxT
(
"0.5"
),
wxT
(
"0.75"
),
wxT
(
"1"
),
wxT
(
"1.25"
),
wxT
(
"1.5"
),
wxT
(
"1.75"
),
wxT
(
"2"
)
};
wxFlexGridSizer
*
video_sizer
=
new
wxFlexGridSizer
(
6
,
1
,
20
);
...
...
@@ -672,8 +676,9 @@ wxPanel *SoutDialog::TranscodingPanel( wxWindow* parent )
new
wxCheckBox
(
panel
,
VideoTranscEnable_Event
,
wxU
(
_
(
"Video codec"
)));
video_codec_combo
=
new
wxComboBox
(
panel
,
VideoTranscCodec_Event
,
wxT
(
""
),
wxPoint
(
20
,
25
),
wxDefaultSize
,
WXSIZEOF
(
vcodecs_array
),
vcodecs_array
,
wxCB_READONLY
);
wxPoint
(
20
,
25
),
wxDefaultSize
,
WXSIZEOF
(
wxvcodecs_array
),
wxvcodecs_array
,
wxCB_READONLY
);
video_codec_combo
->
SetSelection
(
2
);
wxStaticText
*
bitrate_label
=
new
wxStaticText
(
panel
,
-
1
,
wxU
(
_
(
"Bitrate (kb/s)"
)));
...
...
@@ -701,7 +706,7 @@ wxPanel *SoutDialog::TranscodingPanel( wxWindow* parent )
wxEXPAND
|
wxALIGN_RIGHT
|
wxALIGN_CENTER_VERTICAL
);
/* Create audio transcoding checkox */
static
const
wxString
acodecs_array
[]
=
static
const
wxString
wx
acodecs_array
[]
=
{
wxT
(
"mpga"
),
wxT
(
"mp3"
),
...
...
@@ -711,17 +716,6 @@ wxPanel *SoutDialog::TranscodingPanel( wxWindow* parent )
wxT
(
"flac"
),
wxT
(
"spx"
)
};
static
const
wxString
abitrates_array
[]
=
{
wxT
(
"512"
),
wxT
(
"256"
),
wxT
(
"192"
),
wxT
(
"128"
),
wxT
(
"96"
),
wxT
(
"64"
),
wxT
(
"32"
),
wxT
(
"16"
)
};
static
const
wxString
achannels_array
[]
=
{
wxT
(
"1"
),
...
...
@@ -729,14 +723,27 @@ wxPanel *SoutDialog::TranscodingPanel( wxWindow* parent )
wxT
(
"4"
),
wxT
(
"6"
)
};
/*
static const wxString abitrates_array[] =
{
wxT("512"),
wxT("256"),
wxT("192"),
wxT("128"),
wxT("96"),
wxT("64"),
wxT("32"),
wxT("16")
};
*/
wxFlexGridSizer
*
audio_sizer
=
new
wxFlexGridSizer
(
3
,
1
,
20
);
audio_transc_checkbox
=
new
wxCheckBox
(
panel
,
AudioTranscEnable_Event
,
wxU
(
_
(
"Audio codec"
)));
audio_codec_combo
=
new
wxComboBox
(
panel
,
AudioTranscCodec_Event
,
wxT
(
""
),
wxPoint
(
10
,
25
),
wxDefaultSize
,
WXSIZEOF
(
acodecs_array
),
acodecs_array
,
wxCB_READONLY
);
wxPoint
(
10
,
25
),
wxDefaultSize
,
WXSIZEOF
(
wxacodecs_array
),
wxacodecs_array
,
wxCB_READONLY
);
audio_codec_combo
->
SetSelection
(
0
);
#if defined( __WXMSW__ )
wxFlexGridSizer
*
audio_sub_sizer
=
new
wxFlexGridSizer
(
4
,
5
,
20
);
...
...
modules/gui/wxwindows/wizard.cpp
View file @
3edc65f5
...
...
@@ -34,9 +34,9 @@
#include "wxwindows.h"
#include
<wx/statline.h>
#include
"streamdata.h"
#include
"stream.h"
#include
<wx/statline.h>
class
wizHelloPage
;
class
wizInputPage
;
...
...
@@ -73,16 +73,6 @@ enum
#define ACTION_STREAM 0
#define ACTION_TRANSCODE 1
#define MUX_PS 0
#define MUX_TS 1
#define MUX_MPEG 2
#define MUX_OGG 3
#define MUX_RAW 4
#define MUX_ASF 5
#define MUX_AVI 6
#define MUX_MP4 7
#define MUX_MOV 8
BEGIN_EVENT_TABLE
(
WizardDialog
,
wxWizard
)
END_EVENT_TABLE
()
...
...
@@ -168,122 +158,6 @@ END_EVENT_TABLE()
"additionnal parameters for your stream" )
/*****************************************************************************
* Helper structures
*****************************************************************************/
struct
codec
{
char
*
psz_display
;
char
*
psz_codec
;
char
*
psz_descr
;
int
muxers
[
9
];
};
struct
codec
vcodecs_array
[]
=
{
{
"MPEG-1 Video"
,
"mp1v"
,
"MPEG-1 Video codec"
,
{
MUX_PS
,
MUX_TS
,
MUX_MPEG
,
MUX_OGG
,
MUX_AVI
,
MUX_RAW
,
-
1
,
-
1
,
-
1
}
},
{
"MPEG-2 Video"
,
"mp2v"
,
"MPEG-2 Video codec"
,
{
MUX_PS
,
MUX_TS
,
MUX_MPEG
,
MUX_OGG
,
MUX_AVI
,
MUX_RAW
,
-
1
,
-
1
,
-
1
}
},
{
"MPEG-4 Video"
,
"mp4v"
,
"MPEG-4 Video codec"
,
{
MUX_PS
,
MUX_TS
,
MUX_MPEG
,
MUX_ASF
,
MUX_MP4
,
MUX_OGG
,
MUX_AVI
,
MUX_RAW
,
-
1
}
},
{
"DIVX 1"
,
"DIV1"
,
"Divx first version"
,
{
MUX_TS
,
MUX_MPEG
,
MUX_ASF
,
MUX_OGG
,
MUX_AVI
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"DIVX 2"
,
"DIV2"
,
"Divx second version"
,
{
MUX_TS
,
MUX_MPEG
,
MUX_ASF
,
MUX_OGG
,
MUX_AVI
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"DIVX 3"
,
"DIV3"
,
"Divx third version"
,
{
MUX_TS
,
MUX_MPEG
,
MUX_ASF
,
MUX_OGG
,
MUX_AVI
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"H 263"
,
"H263"
,
"H263 is ..."
,
{
MUX_TS
,
MUX_AVI
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"I 263"
,
"I263"
,
"I263 is ..."
,
{
MUX_TS
,
MUX_AVI
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"WMV 1"
,
"WMV1"
,
"First version of WMV"
,
{
MUX_TS
,
MUX_MPEG
,
MUX_ASF
,
MUX_OGG
,
MUX_AVI
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"WMV 2"
,
"WMV2"
,
"2 version of WMV"
,
{
MUX_TS
,
MUX_MPEG
,
MUX_ASF
,
MUX_OGG
,
MUX_AVI
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"MJPEG"
,
"MJPG"
,
"MJPEG consists of a series of JPEG pictures"
,
{
MUX_TS
,
MUX_MPEG
,
MUX_ASF
,
MUX_OGG
,
MUX_AVI
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"Theora"
,
"theo"
,
"Experimental free codec"
,
{
MUX_TS
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"Dummy"
,
"dummy"
,
"Dummy codec (do not transcode)"
,
{
MUX_PS
,
MUX_TS
,
MUX_MPEG
,
MUX_ASF
,
MUX_MP4
,
MUX_OGG
,
MUX_AVI
,
MUX_RAW
,
MUX_MOV
}},
{
NULL
,
NULL
,
NULL
,
{
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
}}
/* Do not remove me */
};
struct
codec
acodecs_array
[]
=
{
{
"MPEG Audio"
,
"mpga"
,
"The standard MPEG audio (1/2) format"
,
{
MUX_PS
,
MUX_TS
,
MUX_MPEG
,
MUX_ASF
,
MUX_OGG
,
MUX_AVI
,
MUX_RAW
,
-
1
,
-
1
}
},
{
"MP3"
,
"mp3"
,
"MPEG Audio Layer 3"
,
{
MUX_PS
,
MUX_TS
,
MUX_MPEG
,
MUX_ASF
,
MUX_OGG
,
MUX_AVI
,
MUX_RAW
,
-
1
,
-
1
}
},
{
"MPEG 4 Audio"
,
"mp4a"
,
"Audio format for MPEG4"
,
{
MUX_TS
,
MUX_MP4
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"A/52"
,
"a52"
,
"DVD audio format"
,
{
MUX_PS
,
MUX_TS
,
MUX_MPEG
,
MUX_ASF
,
MUX_OGG
,
MUX_AVI
,
MUX_RAW
,
-
1
,
-
1
}
},
{
"Vorbis"
,
"vorb"
,
"This is a free audio codec"
,
{
MUX_OGG
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"FLAC"
,
"flac"
,
"This is an audio codec"
,
{
MUX_OGG
,
MUX_RAW
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"Speex"
,
"spx"
,
"An audio codec dedicated to compression of voice"
,
{
MUX_OGG
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"Dummy"
,
"dummy"
,
"Dummy codec (do not transcode)"
,
{
MUX_PS
,
MUX_TS
,
MUX_MPEG
,
MUX_ASF
,
MUX_MP4
,
MUX_OGG
,
MUX_AVI
,
MUX_RAW
,
MUX_MOV
}},
{
NULL
,
NULL
,
NULL
,
{
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
}}
/* Do not remove me */
};
struct
method
{
char
*
psz_access
;
char
*
psz_method
;
char
*
psz_descr
;
char
*
psz_address
;
int
muxers
[
9
];
};
struct
method
methods_array
[]
=
{
{
"udp:"
,
"UDP Unicast"
,
"Use this to stream to a single computer"
,
"Enter the address of the computer to stream to"
,
{
MUX_TS
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"udp:"
,
"UDP Multicast"
,
"Use this to stream to a dynamic group of computers on a "
"multicast-enabled network. This is the most efficient method "
"to stream to several computers, but it does not work over Internet."
,
"Enter the multicast address to stream to in this field. "
"This must be an IP address between 224.0.0.0 an 239.255.255.255 "
"For a private use, enter an address beginning with 239.255."
,
{
MUX_TS
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
}
},
{
"http://"
,
"HTTP"
,
"Use this to stream to several computers. This method is "
"less efficient, as the server needs to send several times the "
"stream."
,
"Enter the local addresses you want to listen to. Do not enter "
"anything if you want to listen to all adresses or if you don't "
"understand. This is generally the best thing to do. Other computers "
"can then access the stream at http://yourip:8080 by default"
,
{
MUX_TS
,
MUX_PS
,
MUX_MPEG
,
MUX_OGG
,
MUX_RAW
,
MUX_ASF
,
-
1
,
-
1
,
-
1
}
},
{
NULL
,
NULL
,
NULL
,
NULL
,
{
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
}}
/* Do not remove me */
};
struct
encap
{
int
id
;
char
*
psz_mux
;
char
*
psz_encap
;
char
*
psz_descr
;
};
struct
encap
encaps_array
[]
=
{
{
MUX_PS
,
"ps"
,
"MPEG PS"
,
"MPEG Program Stream"
},
{
MUX_TS
,
"ts"
,
"MPEG TS"
,
"MPEG Transport Stream"
},
{
MUX_MPEG
,
"ps"
,
"MPEG 1"
,
"MPEG 1 Format"
},
{
MUX_OGG
,
"ogg"
,
"OGG"
,
"OGG"
},
{
MUX_RAW
,
"raw"
,
"RAW"
,
"RAW"
},
{
MUX_ASF
,
"asf"
,
"ASF"
,
"ASF"
},
{
MUX_AVI
,
"avi"
,
"AVI"
,
"AVI"
},
{
MUX_MP4
,
"mp4"
,
"MP4"
,
"MPEG4"
},
{
MUX_MOV
,
"mov"
,
"MOV"
,
"MOV"
},
{
-
1
,
NULL
,
NULL
,
NULL
}
/* Do not remove me */
};
/*****************************************************************************
* All the pages of the wizard, declaration
*****************************************************************************/
...
...
@@ -521,7 +395,10 @@ END_EVENT_TABLE()
static
int
ismult
(
char
*
psz_uri
);
static
void
pageHeader
(
wxWindow
*
window
,
wxBoxSizer
*
sizer
,
char
*
psz_title
,
char
*
psz_text
)
char
*
psz_title
,
char
*
psz_text
);
static
void
pageHeader
(
wxWindow
*
window
,
wxBoxSizer
*
sizer
,
char
*
psz_title
,
char
*
psz_text
)
{
wxStaticText
*
wtitle
=
new
wxStaticText
(
window
,
-
1
,
wxU
(
psz_title
)
);
wxFont
font
=
wtitle
->
GetFont
();
...
...
@@ -589,7 +466,7 @@ wizHelloPage::wizHelloPage( wxWizard *parent) : wxWizardPageSimple(parent)
void
wizHelloPage
::
OnMoreInfo
(
wxCommandEvent
&
event
)
{
wxString
msg
;
msg
.
Printf
(
wxString
(
wx
T
(
event
.
GetId
()
==
MoreInfoStreaming_Event
?
msg
.
Printf
(
wxString
(
wx
U
(
event
.
GetId
()
==
MoreInfoStreaming_Event
?
MOREINFO_STREAM
:
MOREINFO_TRANSCODE
)
)
);
wxMessageBox
(
msg
,
wxU
(
_
(
"More information"
)),
...
...
@@ -794,7 +671,7 @@ void wizInputPage::OnWizardPageChanging(wxWizardEvent& event)
}
else
{
p_parent
->
SetMrl
(
(
const
char
*
)
mrl_text
->
GetValue
().
c
_str
()
);
p_parent
->
SetMrl
(
(
const
char
*
)
mrl_text
->
GetValue
().
mb
_str
()
);
}
}
else
...
...
@@ -807,7 +684,7 @@ void wizInputPage::OnWizardPageChanging(wxWizardEvent& event)
listitem
.
SetId
(
i
);
listitem
.
SetColumn
(
1
);
listview
->
GetItem
(
listitem
);
p_parent
->
SetMrl
(
(
const
char
*
)
listitem
.
GetText
().
c
_str
()
);
p_parent
->
SetMrl
(
(
const
char
*
)
listitem
.
GetText
().
mb
_str
()
);
}
}
if
(
enable_checkbox
->
IsChecked
()
)
...
...
@@ -1033,12 +910,12 @@ void wizTranscodeCodecPage::OnWizardPageChanging(wxWizardEvent& event)
audio_combo
->
GetSelection
()
:
i_audio_codec
));
acodec
=
strdup
(
c
->
psz_codec
);
int
vb
=
atoi
(
vb_combo
->
GetValue
().
c
_str
()
);
int
vb
=
atoi
(
vb_combo
->
GetValue
().
mb
_str
()
);
if
(
vb
==
0
)
{
vb
=
1024
;
}
int
ab
=
atoi
(
ab_combo
->
GetValue
().
c
_str
()
);
int
ab
=
atoi
(
ab_combo
->
GetValue
().
mb
_str
()
);
if
(
ab
==
0
)
{
ab
=
192
;
...
...
@@ -1131,7 +1008,7 @@ void wizStreamingMethodPage::OnWizardPageChanging(wxWizardEvent& event)
if
(
!
event
.
GetDirection
()
)
return
;
/* Check valid address */
if
(
i_method
==
1
&&
!
ismult
((
char
*
)
address_txtctrl
->
GetValue
().
c
_str
())
)
if
(
i_method
==
1
&&
!
ismult
((
char
*
)
address_txtctrl
->
GetValue
().
mb
_str
())
)
{
wxMessageBox
(
wxU
(
INVALID_MCAST_ADDRESS
)
,
wxU
(
ERROR_MSG
),
wxICON_WARNING
|
wxOK
,
this
->
p_parent
);
...
...
@@ -1156,7 +1033,7 @@ void wizStreamingMethodPage::OnWizardPageChanging(wxWizardEvent& event)
}
}
p_parent
->
SetStream
(
methods_array
[
i_method
].
psz_access
,
(
char
*
)
address_txtctrl
->
GetValue
().
c
_str
()
);
(
char
*
)
address_txtctrl
->
GetValue
().
mb
_str
()
);
/* Set the action for the muxer page */
((
wizEncapPage
*
)
GetNext
())
->
SetAction
(
p_parent
->
GetAction
()
);
...
...
@@ -1304,7 +1181,7 @@ void wizTranscodeExtraPage::OnSelectFile( wxCommandEvent &event)
if
(
file_dialog
->
GetFilename
().
mb_str
()
)
{
p_parent
->
SetTranscodeOut
(
(
char
*
)
file_dialog
->
GetFilename
().
c
_str
()
);
mb
_str
()
);
}
}
...
...
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