This explanation is only true for the older Classic Poodll. Cloud Poodll does not work in this way.

If your video stays stuck looking like this:

Or your audio is stuck on the "Poodll is converting... " message   

.......   then something is wrong.

 In most cases Poodll should return the file within a few seconds or minutes. The actual conversion takes place in the "cloud."  The delay comes when Moodle goes to pick up the recorded file. Rather than have the user wait for their recording to finish converting before submitting their assignment or submission, we schedule Moodle to go and pick it up. In most cases where we see/hear the placeholder file long after we should, the file has been picked up correctly but Moodle is just not playing it for you. In some cases however its really not being picked up.

Moodle is just not playing it for you.

The default filter that handles audio and video playback is the Moodle multimedia plugins filter. It will let the browser cache the video or audio file the first time it plays. But in this case that is not helpful. Because after we swap out the placeholder content for the recorded content, we want to play back the new content. Not the old content. If on one machine or browser you get the placeholder, but on another you get the recorded file , then browser caching will be the culprit. 

To fix this move Poodll higher in the list of filters then the Moodle multi media plugins filter. 

site administration -> plugins -> filters ->manage filters


Poodll has several audio and video players. This page explains how to set up Poodll to handle MP3. But it should do so by default if the Poodll filter is enabled and above multimedia plugins filter

Handling MP3


Moodle could not pick it up

Moodle can perform the pick up in two ways.

i) When a notification arrives from Poodll. If cloud notifications is checked (it is by default) in the Poodll filter settings, Poodll sends a ping to your Moodle server that a conversion has finished. This is fast, and often the file will have been fetched before the user submitted the page. See here for more details:

Most of the default Poodll players will automatically check for a recent conversion every 15s and load it in the player. 

ii) When the "cron" job runs. Cron is a background task on the server that wakes up every x minutes and does what is scheduled, and then goes away again. How frequently cron runs is up to your server settings. It happens outside of Moodle. See here for more details: 

If different browsers all show the placeholder file. Then the file has not been picked up. If Moodle never picks up your file it usually means that something went wrong earlier. This could be: The file never uploaded properly, or the recorder failed to tell Moodle about the file that was recorded, or in some cases that the server was low on disk space. 

The most common cause is that the file was not uploaded correcty in the first place.

Another cause can be that the server's cron job is not running, or never reaches the Poodll tasks because it has too much work to do in its allotted time. If the server is waiting for an update to be processed it can be in this state.

Less common causes can be 

...  the server time is out of sync and the upload URL appears to the browser/server as expired. This is sometimes the case on development/sandbox servers.

...the /filter/poodll/poodllfilelib.php file has the wrong file permissions. In general they should be 644. And the owner of the file should be the system user that the web server runs as (often www-data).

..  your Moodle server runs under a strict firewall setup, the firewall may actually be blocking it from accessing AWS S3 where the files are stored.

NB After 24 hours the recorded files are no longer on Poodll servers. So after that time, if Moodle did not pick up the file it is effectively lost.