Commit 01b83a3f authored by Felix Paul Kühne's avatar Felix Paul Kühne

* added RTP uni-/multicast to the wizard

parent 7ea19fd2
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<key>IBDocumentLocation</key> <key>IBDocumentLocation</key>
<string>255 498 356 241 0 0 1024 746 </string> <string>255 498 356 241 0 0 1024 746 </string>
<key>IBFramework Version</key> <key>IBFramework Version</key>
<string>437.0</string> <string>443.0</string>
<key>IBLockedObjects</key> <key>IBLockedObjects</key>
<array> <array>
<integer>6</integer> <integer>6</integer>
...@@ -18,6 +18,6 @@ ...@@ -18,6 +18,6 @@
<integer>6</integer> <integer>6</integer>
</array> </array>
<key>IBSystem Version</key> <key>IBSystem Version</key>
<string>8C46</string> <string>8F46</string>
</dict> </dict>
</plist> </plist>
...@@ -252,7 +252,8 @@ static VLCWizard *_o_sharedInstance = nil; ...@@ -252,7 +252,8 @@ static VLCWizard *_o_sharedInstance = nil;
NSArray * o_mms; NSArray * o_mms;
NSArray * o_udp_uni; NSArray * o_udp_uni;
NSArray * o_udp_multi; NSArray * o_udp_multi;
NSArray * o_rtp; NSArray * o_rtp_uni;
NSArray * o_rtp_multi;
o_http = [NSArray arrayWithObjects: @"http", @"HTTP", _NS("Enter the local " \ o_http = [NSArray arrayWithObjects: @"http", @"HTTP", _NS("Enter the local " \
"addresses you want to listen to. Do not enter anything if you want to " \ "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 " \ "listen to all adresses or if you don't understand. This is generally " \
...@@ -279,11 +280,18 @@ static VLCWizard *_o_sharedInstance = nil; ...@@ -279,11 +280,18 @@ static VLCWizard *_o_sharedInstance = nil;
"to a dynamic group of computers on a multicast-enabled network. This " \ "to a dynamic group of computers on a multicast-enabled network. This " \
"is the most efficient method to stream to several computers, but it " \ "is the most efficient method to stream to several computers, but it " \
"does not work over Internet."), nil]; "does not work over Internet."), nil];
o_rtp = [NSArray arrayWithObjects: @"rtp", @"RTP", _NS("Enter the " \ o_rtp_uni = [NSArray arrayWithObjects: @"rtp", @"RTP-Unicast", _NS("Enter the " \
"address of the computer to stream to.") , _NS("Use this to stream " \ "address of the computer to stream to.") , _NS("Use this to stream " \
"to a single computer."), nil]; "to a single computer."), nil];
o_rtp_multi = [NSArray arrayWithObjects: @"rtp", @"RTP-Multicast", _NS("Enter " \
"the multicast address to stream to in this field. This must be an IP " \
"address between 224.0.0.0 and 239.255.255.255. For a private use, " \
"enter an address beginning with 239.255."), _NS("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."), nil];
o_strmgMthds = [[NSArray alloc] initWithObjects: o_http, o_mms, \ o_strmgMthds = [[NSArray alloc] initWithObjects: o_http, o_mms, \
o_udp_uni, o_udp_multi, o_rtp, nil]; o_udp_uni, o_udp_multi, o_rtp_uni, o_rtp_multi, nil];
} }
- (void)showWizard - (void)showWizard
...@@ -607,10 +615,11 @@ static VLCWizard *_o_sharedInstance = nil; ...@@ -607,10 +615,11 @@ static VLCWizard *_o_sharedInstance = nil;
[self rebuildCodecMenus]; [self rebuildCodecMenus];
/* check which streaming method is selected and store it */ /* check which streaming method is selected and store it */
NSString *o_mode; int mode;
o_mode = [[o_t3_matrix_stmgMhd selectedCell] title]; mode = [[o_t3_matrix_stmgMhd selectedCell] tag];
if( [o_mode isEqualToString: @"HTTP"] ) if( mode == 0 )
{ {
/* HTTP Streaming */
[o_userSelections setObject:@"0" forKey:@"stmgMhd"]; [o_userSelections setObject:@"0" forKey:@"stmgMhd"];
/* disable all codecs which don't support MPEG PS, MPEG TS, MPEG 1, /* disable all codecs which don't support MPEG PS, MPEG TS, MPEG 1,
...@@ -618,8 +627,9 @@ static VLCWizard *_o_sharedInstance = nil; ...@@ -618,8 +627,9 @@ static VLCWizard *_o_sharedInstance = nil;
[o_t4_pop_audioCodec removeItemWithTitle:@"Uncompressed, integer"]; [o_t4_pop_audioCodec removeItemWithTitle:@"Uncompressed, integer"];
[o_t4_pop_audioCodec removeItemWithTitle:@"Uncompressed, floating"]; [o_t4_pop_audioCodec removeItemWithTitle:@"Uncompressed, floating"];
} else if ([o_mode isEqualToString: @"MMS"]) } else if ( mode == 1 )
{ {
/* MMS Streaming */
[o_userSelections setObject:@"1" forKey:@"stmgMhd"]; [o_userSelections setObject:@"1" forKey:@"stmgMhd"];
/* disable all codecs which don't support ASF / ASFH */ /* disable all codecs which don't support ASF / ASFH */
...@@ -637,12 +647,10 @@ static VLCWizard *_o_sharedInstance = nil; ...@@ -637,12 +647,10 @@ static VLCWizard *_o_sharedInstance = nil;
[o_t4_pop_videoCodec removeItemWithTitle:@"MJPEG"]; [o_t4_pop_videoCodec removeItemWithTitle:@"MJPEG"];
[o_t4_pop_videoCodec removeItemWithTitle:@"Theora"]; [o_t4_pop_videoCodec removeItemWithTitle:@"Theora"];
} else { } else {
if( [o_mode isEqualToString: _NS("UDP Unicast")] ) /* RTP/UDP Unicast/Multicast Streaming */
{
[o_userSelections setObject:@"2" forKey:@"stmgMhd"]; [o_userSelections setObject: [[NSNumber numberWithInt: mode] \
} else { stringValue] forKey:@"stmgMhd"];
[o_userSelections setObject:@"3" forKey:@"stmgMhd"];
}
/* disable all codecs which don't support MPEG-TS */ /* disable all codecs which don't support MPEG-TS */
[o_t4_pop_audioCodec removeItemWithTitle:@"Vorbis"]; [o_t4_pop_audioCodec removeItemWithTitle:@"Vorbis"];
...@@ -1018,10 +1026,9 @@ static VLCWizard *_o_sharedInstance = nil; ...@@ -1018,10 +1026,9 @@ static VLCWizard *_o_sharedInstance = nil;
[[o_t5_matrix_encap cellAtRow:9 column:0] setEnabled:NO]; [[o_t5_matrix_encap cellAtRow:9 column:0] setEnabled:NO];
[[o_t5_matrix_encap cellAtRow:10 column:0] setEnabled:NO]; [[o_t5_matrix_encap cellAtRow:10 column:0] setEnabled:NO];
} }
else if ( [o_userSelections objectForKey:@"stmgMhd"] == @"2" || else if ( [[o_userSelections objectForKey:@"stmgMhd"] intValue] >= 2 )
[o_userSelections objectForKey:@"stmgMhd"] == @"3" )
{ {
/* if UDP is the streaming protocol, only MPEG-TS is available */ /* if UDP/RTP is the streaming protocol, only MPEG-TS is available */
[[o_t5_matrix_encap cellAtRow:0 column:0] setEnabled:NO]; [[o_t5_matrix_encap cellAtRow:0 column:0] setEnabled:NO];
[[o_t5_matrix_encap cellAtRow:2 column:0] setEnabled:NO]; [[o_t5_matrix_encap cellAtRow:2 column:0] setEnabled:NO];
[[o_t5_matrix_encap cellAtRow:3 column:0] setEnabled:NO]; [[o_t5_matrix_encap cellAtRow:3 column:0] setEnabled:NO];
...@@ -1221,30 +1228,6 @@ static VLCWizard *_o_sharedInstance = nil; ...@@ -1221,30 +1228,6 @@ static VLCWizard *_o_sharedInstance = nil;
[o_t8_fld_partExtract setStringValue: _NS("no")]; [o_t8_fld_partExtract setStringValue: _NS("no")];
} }
if ([[o_userSelections objectForKey:@"trnscdOrStrmg"] isEqualToString:@"strmg"])
{
/* we are streaming; no transcoding allowed atm */
[o_t8_fld_saveFileTo setStringValue: @"-"];
[o_t8_fld_trnscdAudio setStringValue: @"-"];
[o_t8_fld_trnscdVideo setStringValue: @"-"];
[o_t8_fld_strmgMthd setStringValue: [[o_strmgMthds objectAtIndex: \
[[o_userSelections objectForKey:@"stmgMhd"] intValue]] \
objectAtIndex:1]];
[o_t8_fld_destination setStringValue: [o_userSelections objectForKey: \
@"stmgDest"]];
[o_t8_fld_ttl setStringValue: [o_userSelections objectForKey:@"ttl"]];
if ([[o_userSelections objectForKey:@"sap"] isEqualToString: @"YES"])
{
[o_t8_fld_sap setStringValue: [[_NS("yes") stringByAppendingString:@": "] stringByAppendingString:[o_userSelections objectForKey:@"sapText"]]];
}else{
[o_t8_fld_sap setStringValue: _NS("no")];
}
} else {
/* we are transcoding */
[o_t8_fld_strmgMthd setStringValue: @"-"];
[o_t8_fld_destination setStringValue: @"-"];
[o_t8_fld_ttl setStringValue: @"-"];
[o_t8_fld_sap setStringValue: @"-"];
if ([[o_userSelections objectForKey:@"trnscdVideo"] isEqualToString:@"YES"]) if ([[o_userSelections objectForKey:@"trnscdVideo"] isEqualToString:@"YES"])
{ {
[o_t8_fld_trnscdVideo setStringValue: [[[[[_NS("yes") \ [o_t8_fld_trnscdVideo setStringValue: [[[[[_NS("yes") \
...@@ -1254,7 +1237,9 @@ static VLCWizard *_o_sharedInstance = nil; ...@@ -1254,7 +1237,9 @@ static VLCWizard *_o_sharedInstance = nil;
stringByAppendingString:@" @ "] stringByAppendingString: \ stringByAppendingString:@" @ "] stringByAppendingString: \
[o_userSelections objectForKey:@"trnscdVideoBitrate"]] \ [o_userSelections objectForKey:@"trnscdVideoBitrate"]] \
stringByAppendingString:@" kb/s"]]; stringByAppendingString:@" kb/s"]];
}else{ }
else
{
[o_t8_fld_trnscdVideo setStringValue: _NS("no")]; [o_t8_fld_trnscdVideo setStringValue: _NS("no")];
} }
if ([[o_userSelections objectForKey:@"trnscdAudio"] isEqualToString:@"YES"]) if ([[o_userSelections objectForKey:@"trnscdAudio"] isEqualToString:@"YES"])
...@@ -1266,9 +1251,35 @@ static VLCWizard *_o_sharedInstance = nil; ...@@ -1266,9 +1251,35 @@ static VLCWizard *_o_sharedInstance = nil;
stringByAppendingString:@" @ "] stringByAppendingString: \ stringByAppendingString:@" @ "] stringByAppendingString: \
[o_userSelections objectForKey:@"trnscdAudioBitrate"]] \ [o_userSelections objectForKey:@"trnscdAudioBitrate"]] \
stringByAppendingString:@" kb/s"]]; stringByAppendingString:@" kb/s"]];
}else{ }
else
{
[o_t8_fld_trnscdAudio setStringValue: _NS("no")]; [o_t8_fld_trnscdAudio setStringValue: _NS("no")];
} }
if ([[o_userSelections objectForKey:@"trnscdOrStrmg"] isEqualToString:@"strmg"])
{
/* we are streaming and perhaps also transcoding */
[o_t8_fld_saveFileTo setStringValue: @"-"];
[o_t8_fld_strmgMthd setStringValue: [[o_strmgMthds objectAtIndex: \
[[o_userSelections objectForKey:@"stmgMhd"] intValue]] \
objectAtIndex:1]];
[o_t8_fld_destination setStringValue: [o_userSelections objectForKey: \
@"stmgDest"]];
[o_t8_fld_ttl setStringValue: [o_userSelections objectForKey:@"ttl"]];
if ([[o_userSelections objectForKey:@"sap"] isEqualToString: @"YES"])
{
[o_t8_fld_sap setStringValue: [[_NS("yes") stringByAppendingString:@": "] stringByAppendingString:[o_userSelections objectForKey:@"sapText"]]];
}else{
[o_t8_fld_sap setStringValue: _NS("no")];
}
} else {
/* we are transcoding */
[o_t8_fld_strmgMthd setStringValue: @"-"];
[o_t8_fld_destination setStringValue: @"-"];
[o_t8_fld_ttl setStringValue: @"-"];
[o_t8_fld_sap setStringValue: @"-"];
[o_t8_fld_saveFileTo setStringValue: [o_userSelections objectForKey: \ [o_t8_fld_saveFileTo setStringValue: [o_userSelections objectForKey: \
@"trnscdFilePath"]]; @"trnscdFilePath"]];
} }
...@@ -1532,49 +1543,56 @@ static VLCWizard *_o_sharedInstance = nil; ...@@ -1532,49 +1543,56 @@ static VLCWizard *_o_sharedInstance = nil;
{ {
/* change the captions of o_t3_txt_destInfo according to the chosen /* change the captions of o_t3_txt_destInfo according to the chosen
* streaming method */ * streaming method */
NSNumber * o_mode; int mode;
o_mode = [[NSNumber alloc] initWithInt:[[o_t3_matrix_stmgMhd selectedCell] tag]]; mode = [[o_t3_matrix_stmgMhd selectedCell] tag];
if( [o_mode intValue] == 0 ) if( mode == 0 )
{ {
/* UDP-Unicast */ /* HTTP */
[o_t3_txt_destInfo setStringValue: [[o_strmgMthds objectAtIndex:2] \ [o_t3_txt_destInfo setStringValue: [[o_strmgMthds objectAtIndex:0] \
objectAtIndex:2]]; objectAtIndex:2]];
[o_t3_txt_strgMthdInfo setStringValue: [[o_strmgMthds objectAtIndex:2] \ [o_t3_txt_strgMthdInfo setStringValue: [[o_strmgMthds objectAtIndex:0] \
objectAtIndex:3]]; objectAtIndex:3]];
} }
else if ( [o_mode intValue] == 1 ) else if( mode == 1 )
{ {
/* UDP-Multicast */ /* MMS */
[o_t3_txt_destInfo setStringValue: [[o_strmgMthds objectAtIndex:3] \ [o_t3_txt_destInfo setStringValue: [[o_strmgMthds objectAtIndex:1] \
objectAtIndex:2]]; objectAtIndex:2]];
[o_t3_txt_strgMthdInfo setStringValue: [[o_strmgMthds objectAtIndex:3] \ [o_t3_txt_strgMthdInfo setStringValue: [[o_strmgMthds objectAtIndex:1] \
objectAtIndex:3]]; objectAtIndex:3]];
} }
else if( [o_mode intValue] == 2 ) else if( mode == 2 )
{ {
/* HTTP */ /* UDP-Unicast */
[o_t3_txt_destInfo setStringValue: [[o_strmgMthds objectAtIndex:0] \ [o_t3_txt_destInfo setStringValue: [[o_strmgMthds objectAtIndex:2] \
objectAtIndex:2]]; objectAtIndex:2]];
[o_t3_txt_strgMthdInfo setStringValue: [[o_strmgMthds objectAtIndex:0] \ [o_t3_txt_strgMthdInfo setStringValue: [[o_strmgMthds objectAtIndex:2] \
objectAtIndex:3]]; objectAtIndex:3]];
} }
else if( [o_mode intValue] == 3 ) else if( mode == 3 )
{ {
/* MMS */ /* UDP-Multicast */
[o_t3_txt_destInfo setStringValue: [[o_strmgMthds objectAtIndex:1] \ [o_t3_txt_destInfo setStringValue: [[o_strmgMthds objectAtIndex:3] \
objectAtIndex:2]]; objectAtIndex:2]];
[o_t3_txt_strgMthdInfo setStringValue: [[o_strmgMthds objectAtIndex:1] \ [o_t3_txt_strgMthdInfo setStringValue: [[o_strmgMthds objectAtIndex:3] \
objectAtIndex:3]]; objectAtIndex:3]];
} }
else if( [o_mode intValue] == 4 ) else if( mode == 4 )
{ {
/* RTP */ /* RTP-Unicast */
[o_t3_txt_destInfo setStringValue: [[o_strmgMthds objectAtIndex:4] \ [o_t3_txt_destInfo setStringValue: [[o_strmgMthds objectAtIndex:4] \
objectAtIndex:2]]; objectAtIndex:2]];
[o_t3_txt_strgMthdInfo setStringValue: [[o_strmgMthds objectAtIndex:4] \ [o_t3_txt_strgMthdInfo setStringValue: [[o_strmgMthds objectAtIndex:4] \
objectAtIndex:3]]; objectAtIndex:3]];
} }
[o_mode release]; else if( mode == 5 )
{
/* RTP-Multicast */
[o_t3_txt_destInfo setStringValue: [[o_strmgMthds objectAtIndex:5] \
objectAtIndex:2]];
[o_t3_txt_strgMthdInfo setStringValue: [[o_strmgMthds objectAtIndex:5] \
objectAtIndex:3]];
}
} }
- (IBAction)t4_AudCdcChanged:(id)sender - (IBAction)t4_AudCdcChanged:(id)sender
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment