Http byte range and VP8

Does anyone know if JavaFX can take advantage of servers that support http byte range requests when seeking media?
Also, VP8, a successor to VP6 was recently [open sourced|http://www.webmproject.org/] by Google, presumably to support the Html5 video tag. How long will it probably take before JavaFX supports it?

Sounds very interesting.  Have you considered packaging it as an OSMF plug-in?

Similar Messages

  • Byte-Range Serving - PLEASE HELP

    Hey Everyone,
    I am trying to display very large documents from a servlet and need to stream only the requested bytes to the end-user so they don't have to wait for the entire file to download. I have found an example in perl, but I really want a Java version. Currently my code is set to accept byte ranges and will print out the first range of bytes. The problem is on the second request, when I look for Range in the request header, it is null. I have tried this with both PDF and Word documents and I get the same results for both. Any help anyone could give me would be greatly appreciated. I am under a huge deadline and really need the help.
    Thanks

    Sean,
    Here is the method I am calling within my Servlet...Thanks again for your help.
    private void sendPDF(HttpServletRequest req, HttpServletResponse resp, String fullDoc) throws IOException
              long fByte;
              long lByte;
              StringTokenizer stok;
              String tok;
              String curRange;
              File ckFile = new File(fullDoc);
              String shortFile = fullDoc.substring(fullDoc.lastIndexOf(File.separator) + 1);
              resp.setHeader("Content-Disposition", "inline;filename=\"" + shortFile + "\"");
              String rangeStr = req.getHeader("Range");
              long contentLength = 0;
              // check to see if there was a range specified, First time in from the request.
              if (rangeStr == null)
                   resp.setContentLength((int) (new File(fullDoc)).length());
                   resp.setHeader("Accept-ranges", "bytes");
                   FileInputStream fis = new FileInputStream(fullDoc);
                   BufferedOutputStream out = new BufferedOutputStream(resp.getOutputStream());
                   byte[] inputLine = new byte[1024];
                   int numRead = 0;
                   int byteCounter = 0;
                   resp.setContentType("application/pdf");
                   shortFile = fullDoc.substring(fullDoc.lastIndexOf(File.separator) + 1);
                   try
                        while ((numRead = fis.read(inputLine)) != -1)
                             byteCounter += numRead;
                             out.write(inputLine, 0, numRead);
                             for (int y = 0; y < 10000; y++);
                        fis.close();
                        out.close();
                   catch (SocketException se)
                        fis.close();
              else
                   // remove the "bytes=" off the front of the range string
                   rangeStr = rangeStr.substring(rangeStr.indexOf("=") + 1);
                   // now divide up the ranges into their groups
                   StringTokenizer ranges = new StringTokenizer(rangeStr, ",");
                   long fileSize = (new File(fullDoc)).length();
                   // go through and verify the ranges are valid
                   while (ranges.hasMoreTokens())
                        // get the next range set
                        curRange = ranges.nextToken();
                        // breakup the range set
                        stok = new StringTokenizer(curRange, " ,-");
                        tok = stok.nextToken();
                        // convert the first range to a long value
                        fByte = (new Integer(tok)).longValue();
                        lByte = fileSize;
                        // if there is a second value, convert it too
                        if (stok.hasMoreTokens())
                             lByte = (new Integer(stok.nextToken())).longValue();
                        // test to make sure the ranges are valid
                        if (fByte < 0 || fByte > lByte || lByte > fileSize)
                             // error in range
                             return;
                        contentLength += lByte - fByte + 1;
                   // the ranges are valid, since we pulled out all of the tokens
                   // to check the ranges we need to tokenize again
                   // now divide up the ranges into their groups
                   ranges = new StringTokenizer(rangeStr, ",");
                   // set some header stuff
                   String boundary = "multipart";
                   resp.setStatus(HttpServletResponse.SC_PARTIAL_CONTENT);
                   resp.setHeader("Accept-ranges", "bytes");
                   resp.setHeader("Content-Length", String.valueOf(contentLength));
                   resp.setHeader("Content-Range", rangeStr);
                   resp.setContentType("multipart/x-byteranges; boundary=" + boundary);
                   // open the output stream
                   ServletOutputStream out = resp.getOutputStream();
                   out.flush();
                   while (ranges.hasMoreTokens())
                        curRange = (String) ranges.nextElement();
                        stok = new StringTokenizer(curRange, " ,-");
                        long fTok = (new Integer(stok.nextToken())).longValue();
                        if (stok.hasMoreTokens())
                             fByte = fTok;
                             lByte = (new Integer(stok.nextToken())).longValue();
                        else
                             if (curRange.startsWith("-"))
                                  fByte = fileSize - fTok;
                                  lByte = fileSize;
                             else
                                  fByte = 0;
                                  lByte = fTok;
                        long bytesToRead = lByte - fByte + 1;
                        out.println();
                        out.println("--" + boundary);
                        out.println("Content-type: application/pdf");
                        out.println("Content-Range: bytes " + fByte + "-" + lByte + "/" + fileSize);
                        out.println();
                        // open the file and send it!
                        FileInputStream fis = new FileInputStream(fullDoc);
                        fis.skip(fByte);
                        byte[] inputLine = new byte[1024];
                        int bytesRead = 0;
                        try
                             while (bytesToRead > 0)
                                  if (bytesToRead < inputLine.length)
                                       bytesRead = fis.read(inputLine, 0, (int) bytesToRead);
                                  else
                                       bytesRead = fis.read(inputLine);
                                  if (bytesRead < 0)
                                       break;
                                  bytesToRead -= bytesRead;
                                  // write the bytes out to the browser
                                  out.write(inputLine, 0, bytesRead);
                                  out.flush();
                             if (bytesToRead != 0) System.out.println("bytesToRead is not zero: " + bytesToRead);
                             fis.close();
                             out.flush();
                        catch (SocketException se)
                             fis.close();
                   // close the current boundary
                   out.println();
                   out.println("--" + boundary + "--");
                   // close the output stream
                   out.close();

  • Byte Range Requests

    Hi,
    Any help on this topic would be much appreciated.
    The following feed was recently working on iTunes, but seems to have stopped working.
    http://www.backpagelead.com.au/podcasts?format=feed&type=rss
    I understand the issue with byte-range requests and am trying to get an answer from a hosting company.
    In the meantime, is there anything in particular in my RSS feed that I should look out for that could be causing a problem?
    Cheers,
    Brendan

    The page you link to shows the link as text rather than a link:
    The Geoffery Podcast Episode 13: The One With The Balance Pt. II: The Sequel of the Sexes.
    <a href=”http://dl.dropbox.com/u/63074747/the%20geoffery%20podcast%2013.mp3”></a> 
    Lissa, Bre and Dexter made a podcast
    This link therefore doesn't work, though the one on the word 'podcast' does and the file plays OK. Your feed still has no 'enclosure' tags in it so no media files will appear in iTunes. This is something you will have to sort out with Tumblr: there will be a way of making it work since other people have Tumblr based podcasts.

  • Byte-ranging implementation (correct version)

    I am trying to implement byte-ranging support for WebLogic 6.0.
              Unfortunately, Acrobat Reader does not understand my http response with
              ranges and crashes (or waits for something forever). Does anybody have any
              idea what might be wrong? See my code below.
              Is there a java servlet already that implements byte-ranging?
              Thank you,
              Andrei
              import java.io.*;
              import java.util.*;
              import javax.servlet.*;
              import javax.servlet.http.*;
              /** For testing only, do not look at it. */
              public class ViewFile extends HttpServlet
              public void service(HttpServletRequest req, HttpServletResponse res) throws
              ServletException, IOException
              System.out.println("ViewFile start at " + new Date());
              // Print the headers
              for (Enumeration e = req.getHeaderNames() ; e.hasMoreElements() ;)
              String name = (String)e.nextElement();
              System.out.println("> " + name + ": " + req.getHeader(name));
              // Get the file to view
              String file = req.getPathTranslated();
              // No file, nothing to view
              if (file == null)
              file = getServletContext().getRealPath("/index.html");
              System.out.println(file);
              // OK. Do the job!
              renderFileWithByteRanging(file, req, res);
              System.out.println("ViewFile finish\n");
              /** Represents a single byte range. */
              class Range
              public Range(long start, long end)
              this.start = start;
              this.end = end;
              /** The start of the range (zero based). */
              public long start;
              /** The end of the range. */
              public long end;
              * Parses the incoming ranges into a list of ranges.
              * @param ranges The string containing the ranges.
              * @param fileLength The length of the file.
              public LinkedList parseRanges(String ranges, long fileLength) throws
              Exception
              // Create an empty range list
              LinkedList result = new LinkedList();
              // Remove the "bytes=" part from the range
              int pos = ranges.indexOf('=');
              if (pos == -1)
              throw new Exception("Malformated range request: no '=' symbol");
              if ("bytes".equalsIgnoreCase(ranges.substring(pos).trim()))
              throw new Exception("Malformated range request: 'bytes'
              expected");
              ranges = ranges.substring(pos + 1);
              // Go through the range string and extract the ranges
              StringTokenizer tok = new StringTokenizer(ranges, ",");
              while (tok.hasMoreTokens())
              // Get the next range
              String rangesPart = tok.nextToken().trim();
              // Find a minus separating the range
              pos = rangesPart.indexOf('-');
              if (pos == -1)
              System.out.println("Malformated range request: no '-' symbol");
              continue;
              String strFirst = rangesPart.substring(0, pos).trim();
              String strLast = rangesPart.substring(pos + 1).trim();
              System.out.println("Parsed range: " + strFirst + "-" + strLast);
              long posFirst;
              long posLast;
              if ("".equals(strFirst)) // The first parameter is missing
              // Last n bytes. Example: -500
              posFirst = fileLength - Integer.parseInt(strLast);
              posLast = fileLength;
              else if ("".equals(strFirst)) // The second parameter is missing
              // All bytes except first n bytes. Example: 500-
              posFirst = Integer.parseInt(strFirst);
              posLast = fileLength;
              else // Full range request
              // All bytes from n to m. Example: 500-600
              posFirst = Integer.parseInt(strFirst);
              posLast = Integer.parseInt(strLast);
              // Final checks
              if (posLast > fileLength)
              posLast = fileLength - 1;
              if (posFirst >= posLast)
              posFirst = 0;
              posLast = fileLength - 1;
              // Add the range to the list
              result.addLast(new Range(posFirst, posLast));
              // That's all
              return result;
              /** Put entire file to the outpt stream. */
              public void renderFile(ServletOutputStream sos, File file) throws
              Exception
              FileInputStream fis = null;
              try
              // Create the input stream
              fis = new FileInputStream(file);
              // Allocate the 4K buffer
              byte[] buffer = new byte[4 * 1024];
              // Copy the input to the output
              int bytesRead;
              while((bytesRead = fis.read(buffer)) != -1)
              sos.write(buffer, 0, bytesRead);
              finally
              if (fis != null)
              fis.close();
              /** Put the range of the file to the output stream. */
              public void renderFileRange(ServletOutputStream sos, File file, Range
              range) throws Exception
              FileInputStream fis = null;
              try
              System.out.print("Serving range: " + range.start + "-" + range.end);
              // Create the input stream
              fis = new FileInputStream(file);
              // Skip the first bytes
              if (range.start > 0)
              long skipped = fis.skip(range.start);
              System.out.print("; skipped=" + skipped);
              // Read the requested bytes
              int rangeLength = (int)(range.end - range.start + 1);
              byte[] buffer = new byte[rangeLength];
              int bytesRead = fis.read(buffer, 0, rangeLength);
              // Write the bytes
              if (bytesRead > 0)
              sos.write(buffer, 0, bytesRead);
              System.out.println("; read=" + bytesRead);
              finally
              if (fis != null)
              fis.close();
              /* Calculate multi part content length. May not work properly. */
              public long calculateContentLength(LinkedList ranges, long fileLength,
              String contentType)
              String str;
              long length = -2;
              String boundary = "multipart-boundary";
              for (Iterator i = ranges.iterator(); i.hasNext();)
              // Get the next range
              Range range = (Range)i.next();
              // Render a new boundary
              str = "--" + boundary +
              "Content-type: " + contentType +
              "Content-range: bytes " + range.start + "-" +
              range.end + "/" + fileLength;
              length += 10 + str.length() + range.end - range.start + 1;
              str = "--" + boundary + "--";
              length += 4 + str.length();
              System.out.println("Multi-range response length: " + length);
              return length;
              * Render the specified file to the output stream.
              * The whole file is rendered in binary mode, no other output is
              allowed.
              * @param fileName The name of the file render.
              public void renderFileWithByteRanging(String fileName,
              HttpServletRequest request, HttpServletResponse response) throws IOException
              System.out.println("Serving the file: " + fileName);
              FileInputStream fis = null;
              try
              // Get the output stream
              ServletOutputStream sos = response.getOutputStream();
              // Get and set the type of the file
              String contentType = getServletContext().getMimeType(fileName);
              System.out.println("Content Type: " + contentType);
              // Open file and its length
              File file = new File(fileName);
              long fileLength = file.length();
              System.out.println("File length: " + fileLength);
              // Get ranges
              String httpRange = request.getHeader("Range");
              // Are ranges requested?
              if (httpRange == null)
              // No ranges needed
              System.out.println("No ranges. Proceed in usual way");
              response.setHeader("Accept-ranges", "bytes");
              response.setContentType(contentType);
              response.setHeader("Content-length",
              String.valueOf(file.length()));
              // Disable all kinds of caching
              // response.setHeader("Cache-Control", "no-store");
              // Render the entire file content
              renderFile(sos, file);
              else
              // Well, ranges.......
              System.out.println("Ranges are requested.");
              LinkedList ranges = parseRanges(httpRange, fileLength);
              Range range;
              // Check if we got a single range request
              if (ranges.size() == 1)
              // Yeah... a single range. Return it in the simple form
              (Apache-style)
              System.out.println("Serving a single range.");
              range = (Range)ranges.getFirst();
              sos.println("Status: 206 Partial content");
              sos.println("Content-range: bytes " + range.start + "-"
              + range.end + "/" + fileLength);
              sos.println("Content-length: " + (range.start -
              range.end + 1));
              sos.println("Content-type: " + contentType);
              sos.println();
              sos.println();
              // Render the range of the file
              renderFileRange(sos, file, range);
              else
              // Well... many ranges. Return a multipart response
              System.out.println("Serving multiple ranges.");
              // Render the multi-parse response header
              String boundary = "multipart-boundary";
              sos.println("Status: 206 Partial content");
              sos.println("Accept-ranges: bytes");
              sos.println("Content-type: multipart/x-byteranges; boundary=" +
              boundary);
              // sos.println("Content-length: " + calculateContentLength(ranges,
              fileLength, contentType));
              sos.println();
              // Go through the range list and return the
              corresponding file bits
              for (Iterator i = ranges.iterator(); i.hasNext();)
              // Get the next range
              range = (Range)i.next();
              // Render a new boundary
              sos.println();
              sos.println("--" + boundary);
              sos.println("Content-type: " + contentType);
              sos.println("Content-range: bytes " + range.start +
              "-" + range.end + "/" + fileLength);
              sos.println();
              // Render the range of the file
              renderFileRange(sos, file, range);
              // Finish the multipart response
              sos.println();
              sos.println("--" + boundary + "--");
              System.out.println("Done Serving");
              catch(FileNotFoundException fnf)
              // Send the file-not-found status if we could not open the file
              response.sendError(response.SC_NOT_FOUND);
              System.out.println("File '" + fileName + "' is not found");
              catch(Exception e)
              // Send the internal-error status for all other reasons
              if (!response.isCommitted())
              response.sendError(response.SC_INTERNAL_SERVER_ERROR,
              e.getMessage());
              e.printStackTrace();
              

    First just to clarify EBS is currently using OAF and not ADF.
    More info here:
    http://blogs.oracle.com/schan/2007/06/28#a1721
    OAF uses ADF Business Components - so if you want to use ADF to build a system that will integrate with EBS then it would make sense to go to the "ADF Tutorial for Forms/4GL Developers" tutorial.

  • TS1424 error when submitting a podcast rss: byte-range requests

    Hi when I submit rss feeds now I'm getting an error message that we need to enable byte-range requests.
    I saw this article:
    http://theaudacitytopodcast.com/itunes-changes-podcast-specs-and-features/
    saying that " iTunes now requires all hosting servers to enable Byte Range Requests"
    my podcast mp3 is hosted in CDN that, as I've checked, supports range requests.
    but my rss feed contains urls that first return a redirect, to the real url (where range requests are supported)
    could this be a problem? are redirects on episode urls supported (they were until now)? should I modify the redirect response somehow to indicate that range requests are supported on the target server (I thought that shouldn't be necessary)?
    take this as a feed example: http://www.blogtalkradio.com/djsqwyd.rss
    Thanks in advance,

    URL:
    https://www.seven-thoughts.com/rss/rss.xml

  • Error message when uploading: my server does not support byte-range requests

    Hi I am trying to get a pocast up on itunes - I am first just sending a test mp3 - ebenezer.bruceclark.eu/podcast.xml. I have validated the xml keeping it to a minimum and constantly get the message saying my server does not support byte-range requests. Once I got some meassage about "White spaces are required between publicId and systemId". It all seems so random I am using Drupal 7 cms with views_rss module + itunes elements. It's been my 3rd night into the early morning and I need to sort this out for my client.
    Thanks to anyone who can help
    Bruce

    Your feed does not contain an 'enclosure tag' which would contain the URL of your mp3 file, so at the moment it basically has no content and would be of no use to iTunes. You may find it helpful to read this page which gives you basic information on making a podcast:
    http://rfwilmut.net/pc
    Note that when you do get it working and submitting, the iTunes Store won't accept a podcast which is merely a technical test: they need to see at least one proper episode so that they can check that your podcast does not contain unsuitable material.

  • Unable to submit podcast due "Enable byte range requests" error

    Hi, I'm trying to submit a podcast feed but the "enable byte range requests" error shows, I'm in the full control of the server so I've tested from another server and the header seems to be correct:
    HTTP/1.1 206 Partial Content
    Date: Mon, 22 Apr 2013 18:40:58 GMT
    Server: Apache/2.2.15 (CentOS)
    Last-Modified: Tue, 02 Oct 2012 20:59:21 GMT
    ETag: "e0adb-546b70-4cb19cbd1fc40"
    Accept-Ranges: bytes
    Content-Length: 101
    Content-Range: bytes 200-300/5532528
    Connection: close
    Any ideas why iTuns keeps showing me that error?
    Thanks in advance

    To anyone who may be interested:
    Now iTunes accepted my podcast submition, the previous feed had near 100 chapters, so I deleted most of them keeping just 4 chapters.

  • Longtime Podcaster Stuck In Byte-Range Purgatory

    Hey guys,
    I'm trying to do something that seems impossible on my end - get audio podcasts to download on iOS in the default podcast app.
    So far I've transcoded 800+ episodes to .m4a, checked for byte range, edited .htaccess, removed redirects and most recently tested on iOS 6 and 7 on Verizon, AT&T and over wifi.
    Verizon (iOS7): downloads like a champ - instant playback
    AT&T (iOS6 & 7) iPad and iPhone: Error
    Wifi (iOS6 & 7) iPad and iPhone: Error
    Feed: http://croncast.com/episodes.rss
    Actions taken to remedy:
    Transcode all .mp3 to .m4a and only send .m4a enclsosure to iOS devices
    Edited .htaccess to add
    <Files *.m4a>
              Header set Accept-Ranges bytes
    </Files>
    Tested .m4a header
    $ curl -I -r 200-300 http://www.croncast.com/1a4/cks-2013-09-23.m4a
    HTTP/1.1 206 Partial Content
    Date: Tue, 24 Sep 2013 10:28:08 GMT
    Server: Apache
    Last-Modified: Mon, 23 Sep 2013 22:54:37 GMT
    ETag: "52b8001-2b79023-4e714e78d4540"
    Accept-Ranges: bytes
    Content-Length: 101
    Content-Range: bytes 200-300/45584419
    Connection: close
    Content-Type: audio/mp4
    Maybe there are enough clues in what I've posted here that someone can see a reason why the downloads of the .m4a files fail. I hope so. The files work with Instacast just fine.
    Is it possible that the media files themselves have problematic metadata in them, like image? If so, how would I test that?
    Any direction to take this would be very much appreciated!
    Cheers, Kris

    thanks for the quick reply, roger.
    yes, mp3 do not work.
    about the feeds, they're dynamic php and respond according to the device making the request and for iOS devices the flavor the enclosure is .m4a
    example:
    if(strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'],'iPad') || strstr($_SERVER['HTTP_USER_AGENT'],'iPod')) {                                                                      $iFile = str_replace(".mp3", ".m4a", $publicmedia);                                                                      echo "<enclosure url=\"http://www.croncast.com/1a4/" . $iFile . "\" length=\"" . $pms . "\" type=\"audio/mp4\"/>\n";                                                             } else {                                                                      echo "<enclosure url=\"http://www.croncast.com/fulla/download/" . $publicmedia . "\" length=\"" . $pms . "\" type=\"" . $pmt . "\"/>\n";                                                             }
    i did run the curl test on the .m4a and from what i read it is byte-range enabled. i am basing this in the same output that i saw in successful repairs by others. am i missing something?

  • Byte-Range Requests error

    I keep on getting the the error that my server does not support byte-range requests. I cant seem to find the problem and I think that I am hitting the ceiling of my knowledge of configuring Apache.
    here is my feed location http://feeds.feedburner.com/REDPOINTPodcast
    I am running Apache2 on Ubuntu 11:10

    Backing up what Roger is saying - Apple has publicly stated you must be on a byte-range supported server.
    http://www.apple.com/itunes/podcasts/specs.html
    Item 2 below is from Apple.
    Submission and Feedback Processes
    Podcasting on iTunes requires several steps:
    Creating your first episode, which can be an audio recording, video, or even a text document. Supported file formats include .m4a, .mp3, .mov, .mp4, .m4v, .pdf and .epub.
    Posting your episode file(s) on a server with byte-range support enabled and a publicly accessible URL. Byte-range support allows users to stream your episodes.
    Creating an RSS feed (an XML file) that:
    conforms to the RSS 2.0 specification
    includes the recommended iTunes RSS tags,
    contains pointers to your episode.
    Posting the RSS file on a server.
    Submit the URL for your RSS feed to iTunes.
    Regards,
    Rob Walch
    libsyn

  • Byte-range support servers

    Hi, Can you suggest me any free server with byte-range enabled support to hosting podcasts? Thanks!

    While appreciating your desire to keep costs down, I have to say that you may not find free services entirely satisfactory. They have to make a profit somehow, and most of them do it by adding adverts to your website. As they can't do this with a podcast feed or media you may not find them very enthusiastic on the subject.
    It's difficult to find out about byte-range requests: you can test for it, but only once you've been able to put media files up there (unless you can find media files belonging to someone else the same server). Whoever you go with you should ask about this before committing - Apple will reject your podcast if the server can't handle this.
    To test for this, open Terminal and paste this in
    curl -I -r 200-300
    followed by a space and the URL of a media file (not the feed). A successful result looks like this:
    HTTP/1.1 206 Partial Content
    Date: Mon, 03 Sep 2012 21:59:27 GMT
    Server: Apache
    Last-Modified: Thu, 23 Aug 2012 04:06:04 GMT
    ETag: "3fb8374-2bf169c-4c7e6fa626300"
    Accept-Ranges: bytes
    Content-Length: 101
    Content-Range: bytes 200-300/46077596
    Content-Type: audio/mpeg

  • Byte-range request issue when trying to submit - hosted on Tindeck, is this the issue?

    Hi there,
    I'm trying to submit a podcast, but having a few issues. It's the first time I've tried to do this and I'm geting a little confused with all the jargon - and there was me thinking I was pretty tech-savvy!
    I've set up a Wordpress.com blog (http://every80smovie.wordpress.com/) and then set up a feed on Feedburner (http://feeds.feedburner.com/every80smovie) from that. My audio mp3s are hosted on Tindeck - the first episode can be found at http://tindeck.com/listen/xryo, but I used the Wordpress audio code to place an embedded player on the blog page that links to the Tindeck download link.
    From what I can see there are a number of podcasts that seem to host on Tindeck and are listed on iTunes - however, whenever I try to submit my podcast I'm told that the episodes are on a server which doesn't support byte-range requests. I'm guessing Tindeck does because of the other podcasts on there, but I'm now getting really bemused.
    I can subscribe to my podcast using the Advanced tab on iTunes, so I know that side works. Can anybody help at all? Does anybody have any experience with Tindeck?
    Thanks in advance,
    Ben

    When your episode URL is entered in the address bar of a browser it downloads the file; although this works OK in the iTunes application when subscribing, downloading sometimes works in the Store and sometimes doesn't. Really you should provide a direct link to the file which when enter it in a browser, plays in the browser. I don't know whether Tindeck offers this as an alternative.
    Testing for byte-range requests doesn't suggest this is handled - as it's downloading it probably wouldn't in any case. Byte range requests, which consists of requesting parts of the file at a time rather than the whole thing, is the method used by the iPhone and Apple have made it mandatory for new podcasts; if they detect that your server doesn't handle it they will reject your submission. (Other podcasts using Tindeck may have been up before this came into force, or perhaps they've found a way to get Tindeck to serve the files properly.)

  • Is Posterous Byte Range Enabled?

    Hello Everyone,
    I have been moving my podcast, formerly publish by iWeb and hosted on MobileMe, to Posterous. Here is the RSS feed for it:
    http://woodstation-music-podcast.posterous.com/rss.xml
    When I submit this to iTunes, it will get accepted, although no artwork or tags will appear.
    In an effort to get artwork and tags, I used Feedburner, and here is that feed:
    http://feeds.feedburner.com/WoodstationMusicPodcast
    Unfortunately, when I submit this feed to iTunes, it gets rejected as not being "byte range enabled." I really wanted Posterous to work for this. What am I doing wrong.
    Roger, can you help?
    Thanks!
    Kevin

    Rob,
    Thanks for your reply. I have checked out your service and I like what I saw. In all likelihood, I will go that route in the next couple of days or so.
    I wanted to see if the Posterous route would work, and it really works well in everyday - except for getting it listed in iTunes.  It's not about trying to do this on the cheap. After all, I used (and paid for) MobileMe to host my elementary school podcast for several years. It has more to do with the fact that I conduct workshops for educators from time to time on podcasting in the classroom, and I wanted to find an easy way of getting started in podcasting. Posterous is very easy to use, and educators would appreciate that. And some educators may never feel the need to have their podcasts listed in iTunes.
    As for me, however, I feel that being listed in iTunes is a necessity, and I am willing to pay for it myself. As I wrote above, I like what I have seen of your service. In fact, I will be mentioning Libsyn at all my future workshops.
    Thanks again for your reply and your help.

  • Byte Range request issue on drupal site where files are linked to as nodes.  Can anyone tell me how to get this feed into itunes?

    I have an audio feed created on my Drupal website and it does not pass muster on the Itunes podcast submission.  Says byte range requests not supported but I talk with my provider and they indicated that byte range requests are supported.  My feed is www.theoasisoflight.org/audio/feed
    Thanks,
    Ken

    I tested your top media file in Terminal and it does not indicate that the server accepts byte range requests:
    curl -I -r 200-300 http://www.theoasisoflight.org/audio/download/305/Wendell+Par+2014-02-23.mp3
    HTTP/1.1 200 OK
    Date: Thu, 27 Feb 2014 15:59:52 GMT
    Server: Apache
    X-Powered-By: PHP/4.4.9
    Expires: Sun, 19 Nov 1978 05:00:00 GMT
    Cache-Control: store, no-cache, must-revalidate, post-check=0, pre-check=0
    Content-Disposition: attachment; filename="Wendell Par 2014-02-23.mp3"
    Set-Cookie: SESS0623d57eba2dab838f39d7d97a4c2411=6bfcf91b3afc32c6ccd97d33dcb520d3; expires=Sat, 22 Mar 2014 19:33:12 GMT; path=/; domain=.theoasisoflight.org
    Last-Modified: Thu, 27 Feb 2014 15:59:52 GMT
    Content-Length: 62962251
    Content-Type: audio/mp3
    If it did, 'Content-Length' would have been 201. I can't promise that this test is 100% authoratitave, but it rather looks as if Drupal are wrong. If this is the case you will, I'm afraid, have to find another server because without byte range requests podcasts don't work properly in iPhones, so Apple have made it mandatory.

  • How do I select notes in a given velocity range and fix them to a new value

    Hello. How do I select notes in a given velocity range and fix them to a new value? I believe you can do this with the Transform window, but I can't figure it out. I can select ALL the notes and fix them to a value. But I want to select the notes within a range (and there are many) and fix them to a new value. Thanks for your help.

    The transform window will also select, as well as operate.
    Select Notes = Velocity within 20 > 40 (or whatever) and click Select only.
    You've just selected all notes within that velocity range. You can now use different transform criteria to "Operate" only on that selection, or use the other editors with those notes selected.
    For more on transform:
    http://logicquicktips.blogspot.com/2006/10/transforminating-part-1.html
    http://logicquicktips.blogspot.com/2006/10/transforminating-part-2.html
    http://logicquicktips.blogspot.com/2006/10/transforminating-part-2a.html
    http://logicquicktips.blogspot.com/2006/10/transforminating-part-3.html

  • [svn:osmf:] 11205: Fix bug FM-169: Trait support for data transfer sample doesn' t display bytes loaded and bytes total for SWF element

    Revision: 11205
    Author:   [email protected]
    Date:     2009-10-27 15:04:26 -0700 (Tue, 27 Oct 2009)
    Log Message:
    Fix bug FM-169: Trait support for data transfer sample doesn't display bytes loaded and bytes total for SWF element
    Ticket Links:
        http://bugs.adobe.com/jira/browse/FM-169
    Modified Paths:
        osmf/trunk/apps/samples/framework/PluginSample/src/PluginSample.mxml
        osmf/trunk/apps/samples/framework/PluginSample/src/org/osmf/model/Model.as

    The bug is known, and a patch has been submitted: https://bugs.freedesktop.org/show_bug.cgi?id=80151. There's been no update since friday, so I wonder what the current status is, or if it's up for review at all.
    Does anyone know how we can be notified when this patch hits the kernel?

Maybe you are looking for