Torna indietro   Hardware Upgrade Forum > Software > Linux, Unix, OS alternativi

 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP
Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP
OPPO ha appena lanciato sul mercato la nuova serie Find X10, che ha come smartphone premium il Find X10 Pro Max, uno smartphone completo, che fa del comparto fotografico il suo vero punto di forza. Ma sono tante le novità, tra cui l'AI che adesso diventa agentica. Ma andiamo a vedere nel dettaglio questo nuovo smartphone.
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato
Abbiamo provato la beta di World of Warcraft: Forever, il Classic+ di Blizzard in arrivo il 4 novembre: la nuova razza Skyborne restituisce la sensazione di un gioco nuovo, ma le zone storiche conservano la noia divertita di Classic. Classi ribilanciate, sciamani anche nell'Alleanza e un motore grafico che in 4K gira bene anche su una RTX 3070. Cosa cambia in Forever? La risposta nell'articolo
TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita
TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita
TCL P80 Ultra abbina per la prima volta un pannello AMOLED alla tecnologia NXTPAPER con finitura opaca, affiancandoci una fotocamera periscopica da 50 MP con zoom ottico 3x, il SoC Dimensity 7400 Elite e una batteria da 5.800 mAh. Nella prova sul campo emergono luminosità di picco molto elevata, comparto fotografico solido per la fascia di prezzo e autonomia nella media, a fronte di velocità di scrittura dello storage piuttosto contenute
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-10-2009, 23:12   #1
Janky
Senior Member
 
L'Avatar di Janky
 
Iscritto dal: Feb 2004
Città: Lecco/Milano
Messaggi: 2863
Usare un diff

dunque...io ho questo diff...

come faccio a farlo funzionare correttamente?

Codice:
diff –git a/Classes/Radio.h b/Classes/Radio.h
index 32f6b4a..5a358f7 100644
— a/Classes/Radio.h
+++ b/Classes/Radio.h
@@ -63,6 +63,9 @@ typedef struct {
UIAlertView *alert;
iPhoneRadioAppDelegate *appDelegate;
AQPlayerState audioState;
+
+	BOOL ICECast; //true when IceCast Stream, false for ShoutCast
+
}

-(id)init;
diff –git a/Classes/Radio.m b/Classes/Radio.m
index f661960..9f9b319 100644
— a/Classes/Radio.m
+++ b/Classes/Radio.m
@@ -341,12 +341,72 @@ void interruptionListenerCallback (void	*inUserData, UInt32 interruptionState) {
}
}

+//
+// Added By Sébastien Stormacq
+// ShoutCast support
+//
+
+-(int)parseShoutCastHeaders:(NSData*)buffer {
+
+	streamHeaders = [[NSMutableDictionary alloc] init];
+
+	NSString* rawHeader = [[NSString alloc] initWithData:buffer encoding:NSASCIIStringEncoding];
+	NSString* DELIMITER = @”\r\n”;
+	NSString* END_OF_HEADER_DELIMITER = @”\r\n\r\n”;
+
+	NSArray* lines = [rawHeader componentsSeparatedByString:DELIMITER];
+	for(NSString* line in lines) {
+	 //NSLog(@”line = %@”, line);
+
+	 //did we reach the last line ?
+	 if ([line isEqualToString:@""])
+	 break;
+	 else {
+
+	 NSRange range = [line rangeOfString:@":"];
+	 if (range.location != NSNotFound) {
+	 NSString* key = [line substringToIndex:range.location];
+	 NSString* value = [line substringFromIndex:range.location+1];
+
+	 [streamHeaders setValue:value forKey:key];
+	 }
+	 }
+	}
+
+	int result = [rawHeader rangeOfString:END_OF_HEADER_DELIMITER].location + [END_OF_HEADER_DELIMITER length];
+
+	NSLog(@”ICECAST Headers = %@”, streamHeaders);
+	NSLog(@”ICECAST startOfData = %d”, result);
+
+	[rawHeader release];
+
+	return result;
+}
+//
+// end of addition
+//
+
+#pragma mark NSURLConnection callBacks
+
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
NSHTTPURLResponse *u = (NSHTTPURLResponse *)response;
NSLog(@”HTTP Response = %u”, [u statusCode]);
-
-	streamHeaders = [u allHeaderFields];
- [streamHeaders retain];
+
+	//
+	// Modified By Sébastien Stormacq
+	// ShoutCast support
+	//
+	if ([[u allHeaderFields] objectForKey:@”Ice-Audio-Info”] != nil) {
+	 ICECast = YES;
+	 streamHeaders = [u allHeaderFields];
+	 [streamHeaders retain];
+	} else {
+	 //likely a shout cast stream
+	 ICECast = NO;
+	}
+	//
+	// end of modifications
+	//

NSLog(@”HTTP Response Headers = %@”, streamHeaders);
}
@@ -355,14 +415,42 @@ void interruptionListenerCallback (void	*inUserData, UInt32 interruptionState) {
//	NSLog(@”didReceiveData %u bytes”, [data length]);
int length = [data length];
const char *bytes = (const char *)[data bytes];
+
+	int positionOfFirstData;
+
if (!icyInterval) {
-	 icyInterval = [[streamHeaders objectForKey:@"Icy-Metaint"] intValue];
+
+	 if (ICECast) {
+	 icyInterval = [[streamHeaders objectForKey:@"Icy-Metaint"] intValue];
+
+	 //
+	 // Added By Sébastien Stormacq
+	 // ShoutCast support
+	 //
+	 } else {
+	 //parse first bytes until empty line to read ShoutCast headers
+	 positionOfFirstData = [self parseShoutCastHeaders:data];
+	 icyInterval = [[streamHeaders objectForKey:@"icy-metaint"] intValue];
+
+	 //for ICECast, remove the text header from first data block
+	 NSRange range;
+	 range.location = positionOfFirstData;
+	 range.length = [data length] – positionOfFirstData;
+	 //NSLog(@”range = %d, %d”, range.location, range.length);
+
+	 NSData* subData = [data subdataWithRange:range];
+	 length = [subData length];
+	 bytes = (const char *)[subData bytes];
+	 //NSLog(@”Pruned Data %u bytes\n—\n%@\n—”, length, [NSString stringWithCString:bytes length:length]);
+	 }
+	 //
+	 // End of additions
+	 //
+
NSLog(@”ICY INTERVAL = %u”, icyInterval);
-	 [self fillcurrentPacket:bytes withLength:length];
-	}
-	else {
-	 [self fillcurrentPacket:bytes withLength:length];
}
+
+	[self fillcurrentPacket:bytes withLength:length];
}

-(void)reconnect {
diff –git a/Classes/iPhoneRadioAppDelegate.m b/Classes/iPhoneRadioAppDelegate.m
index 2c4dd35..2eba747 100644
— a/Classes/iPhoneRadioAppDelegate.m
+++ b/Classes/iPhoneRadioAppDelegate.m
@@ -54,7 +54,9 @@
[window makeKeyAndVisible];

radio = [[Radio alloc] init];
-	[radio connect:@"http://stream.radiojavan.com/radiojavan" withDelegate:self withGain:(0.5)];
+	//[radio connect:@"http://stream.radiojavan.com/radiojavan" withDelegate:self withGain:(0.5)];
+	 [radio connect:@"http://stream.radiovazogasy.com:8001" withDelegate:self withGain:(0.5)];
+
}


è per modificare il codice di un'applicazione per iphone

grazie mille
__________________
C'era un moscerino sul tuo schermo
Janky è offline   Rispondi citando il messaggio o parte di esso
Old 20-10-2009, 08:14   #2
sacarde
Senior Member
 
Iscritto dal: Apr 2004
Messaggi: 9516
http://digilander.libero.it/uzappi/L...x-patches.html
sacarde è offline   Rispondi citando il messaggio o parte di esso
Old 21-10-2009, 22:43   #3
Janky
Senior Member
 
L'Avatar di Janky
 
Iscritto dal: Feb 2004
Città: Lecco/Milano
Messaggi: 2863
ok.. mettiamo che io ho sul Desktop la cartella a/Classes, con all'interno tutti i vari file da patchare...

devo creare una cartella b/Classes o la crea lui in automatico??

ho provato a crearla io stesso e ho lanciato il comando, questo è l'output:

Codice:
missing header for unified diff at line 5 of patch
can't find file to patch at input line 5
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff –git a/Classes/Radio.h b/Classes/Radio.h
|index 32f6b4a..5a358f7 100644
|— a/Classes/Radio.h
|+++ b/Classes/Radio.h
--------------------------
File to patch:
e si blocca quindi aspettando che gli passo il file da patchare, ho inserito quindi

Codice:
/Users/janky/Desktop/a/Classes/Radio.h
però ricevo sto errore:

Codice:
patching file /Users/janky/Desktop/a/Classes/Radio.h
patch: **** malformed patch at line 14: diff –git a/Classes/Radio.m b/Classes/Radio.m
è sbagliato il diff o sbaglio io qualcosa?

grazie!
__________________
C'era un moscerino sul tuo schermo
Janky è offline   Rispondi citando il messaggio o parte di esso
Old 22-10-2009, 13:14   #4
sacarde
Senior Member
 
Iscritto dal: Apr 2004
Messaggi: 9516
prova a eseguirlo da dentro: /Users/janky/Desktop
sacarde è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP Recensione OPPO Find X10 Pro Max: un top di gam...
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato WoW Forever provato: il MMORPG che la community ...
TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita TCL P80 Ultra: con un display AMOLED opaco &egra...
HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio HUAWEI MatePad Air recensione: OLED opaco e tast...
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica NVIDIA RTX Spark: il PC Windows on ARM costruito...
Spento Arc Browser: The Browser Company ...
Ferrari Luce costa 560.800 dollari negli...
Sony annuncia le nuove cuffie wireless P...
1Password for Agents: l'agente AI entra ...
Huang: niente surplus di memoria prima d...
L'IA di Microsoft centra l'83% delle dia...
Oral-B iO in offerta su Amazon: spazzoli...
Samsung porta i Galaxy ricondizionati su...
RTX 5090 rubate all'aeroporto di San Pao...
Urlife sfida tutti nelle e-bike: 560€ qu...
Claude ha trovato 493 problemi di superf...
Microsoft ha ricevuto un'offerta di 150 ...
Google Wallet si aggiorna su Android: ar...
4 friggitrici ad aria TOP su Amazon: da ...
Le critiche all'addio ai dischi sono un ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:53.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v