FileDocCategorySizeDatePackage
ContentType.javaAPI DocJMF 2.1.1e1955Mon May 12 12:20:44 BST 2003com.sun.media.util

ContentType

public class ContentType extends Object

Fields Summary
Constructors Summary
Methods Summary
public static java.lang.StringgetCorrectedContentType(java.lang.String contentType, java.lang.String fileName)

	if (contentType != null) {
	    if (contentType.startsWith("text")) {

		// Browser returns text/* for some uncommon types
		// like hotmedia or flash.  We'll handle this case here.

		int i = fileName.lastIndexOf(".");
		if (i != -1) {
		    String ext = fileName.substring(i+1).toLowerCase();
		    String type = com.sun.media.MimeManager.getMimeType(ext);
		    if (type != null)
			return type;
		}

		// TODO: Move this warning to protocol/DataSource.java
		com.sun.media.Log.error("Warning: The URL may not exist. Please check URL");
		return contentType;
	    }
	    if (contentType.equals("audio/wav"))
		return "audio/x-wav";
	    else if (contentType.equals("audio/aiff"))
		return "audio/x-aiff";
	    else if (contentType.equals("application/x-troff-msvideo"))
		// $$ WORKAROUND DUE TO WRONG MIME TYPE GIVEN FOR AVI
		//System.out.print("MIME TYPE BUG: ");
		//System.out.println("application/x-troff-msvideo ==> video/x-msvideo");
		return "video/x-msvideo";
	    else if (contentType.equals("video/msvideo"))
		return "video/x-msvideo";
            else if (contentType.equals("video/avi"))
                return "video/x-msvideo";
	    else if (contentType.equals("audio/x-mpegaudio"))
		return "audio/mpeg";
	}

	// Catch a few well known types even if they are not defined
	// in the system MIME table.
	String type = null;
 	int i = fileName.lastIndexOf(".");
 	if (i != -1) {
 	    String ext = fileName.substring(i+1).toLowerCase();
	    type = com.sun.media.MimeManager.getMimeType(ext);
	}

	if (type != null)
	    return type;
	
	if (contentType != null)
	    return contentType;
	else
	    return "content/unknown";