rtmp: fix url parsing
The application component can have a subcomponent to specify the application instance even if it doesn't have a ":" in the playpath.
This commit is contained in:
		
							parent
							
								
									b0970a69d1
								
							
						
					
					
						commit
						c6eeb9b7b6
					
				| @ -164,7 +164,7 @@ content across a TCP/IP network. | |||||||
| 
 | 
 | ||||||
| The required syntax is: | The required syntax is: | ||||||
| @example | @example | ||||||
| rtmp://@var{server}[:@var{port}][/@var{app}][/@var{playpath}] | rtmp://@var{server}[:@var{port}][/@var{app}][/@var{instance}][/@var{playpath}] | ||||||
| @end example | @end example | ||||||
| 
 | 
 | ||||||
| The accepted parameters are: | The accepted parameters are: | ||||||
|  | |||||||
| @ -1037,9 +1037,10 @@ static int rtmp_open(URLContext *s, const char *uri, int flags) | |||||||
|             fname = next; |             fname = next; | ||||||
|             rt->app[0] = '\0'; |             rt->app[0] = '\0'; | ||||||
|         } else { |         } else { | ||||||
|  |             // make sure we do not mismatch a playpath for an application instance
 | ||||||
|             char *c = strchr(p + 1, ':'); |             char *c = strchr(p + 1, ':'); | ||||||
|             fname = strchr(p + 1, '/'); |             fname = strchr(p + 1, '/'); | ||||||
|             if (!fname || c < fname) { |             if (!fname || (c && c < fname)) { | ||||||
|                 fname = p + 1; |                 fname = p + 1; | ||||||
|                 av_strlcpy(rt->app, path + 1, p - path); |                 av_strlcpy(rt->app, path + 1, p - path); | ||||||
|             } else { |             } else { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user