[vlc-devel] [PATCH] Detecting language of subtitles using its filename
Jean-Baptiste Kempf
jb at videolan.org
Thu Feb 7 15:18:15 CET 2013
On 02 Feb, Walter Cacau wrote :
> + /* Detecting subtitle language using its filename */
> + {
> + input_thread_t * p_input = demux_GetParentInput(p_demux);
> + char * psz_video_url = input_item_GetURI(input_GetItem(p_input));
> + vlc_object_release(p_input);
> +
> + if ( psz_video_url )
> + {
> + char * psz_language = get_language_from_filename(
> + p_demux->psz_location,
> + psz_video_url
> +
> + );
The new line is weirdly placed.
Are you sure you cannot get the filename and not the URL?
> +static char * get_language_from_filename( const char * psz_sub_location,
> + const char * psz_video_url )
> +{
> + char * psz_ret = NULL;
> + char * psz_video_file = NULL;
> + char * psz_sub_file = NULL;
> + char * psz_tmp;
> + char * psz_sub_suffix;
> + char * ps_language_end;
> +
> + psz_video_file = strrchr( psz_video_url, '/' );
> + if( !psz_video_file ) goto end;
> + psz_video_file++;
> + psz_video_file = decode_URI_duplicate(psz_video_file);
> + if( !psz_video_file ) goto end;
> +
> + psz_sub_file = strrchr( psz_sub_location, '/' );
> + if( !psz_sub_file ) goto end;
> + psz_sub_file++;
> + psz_sub_file = decode_URI_duplicate(psz_sub_file);
> + if( !psz_video_file ) goto end;
> +
> + /* Removing extension, but leaving the dot */
> + psz_tmp = strrchr( psz_video_file, '.' );
> + if( !psz_tmp ) goto end;
> + psz_tmp[1] = '\0';
> +
> + /* Extracting sub file prefix */
> + if( strstr(psz_sub_file, psz_video_file) != psz_sub_file ) goto end;
> + psz_sub_suffix = psz_sub_file + strlen(psz_video_file);
> +
> + ps_language_end = strrchr( psz_sub_suffix, '.' );
> + if( !ps_language_end ) goto end;
> + *ps_language_end = '\0';
> +
> + psz_ret = strdup(psz_sub_suffix);
> +
> +end:
> + FREENULL(psz_video_file);
> + FREENULL(psz_sub_file);
> + return psz_ret;
> +}
Best regards,
--
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device
More information about the vlc-devel
mailing list