Knowledgebase
BeyondPod sometimes re-downloads episodes that were listened and deleted
Posted by Dev Support on 17 September 2011 06:13 PM

We occasionally receive reports that some episodes are being incorrectly downloaded after being listened and deleted. The reason for this re downloads are somewhat elusive as they usually happen occasionally and only on some feeds. Here a couple of possible workarounds (you can find a background of the issue below): 

1. You can try switching the feed to use a different duplicate detection logic. To do that, long press on the feed in the list of feeds, and then Edit Feed > More Settings > Duplicate Episode Detection. 

2. Set the feed to be synced with Google Reader. In this case, the post Fingerprint is being calculated by Google Servers which can often detect and ignore small changes in the post data thus keeping the episode fingerprint the same.

Keep in mind that changing the detection setting will delete the read/unread and download history for the feed - you will have to manually mark latest episodes as Read/Downloaded so they are not downloaded again the first time update the feed.

How BeyondPod Detects what Episodes to download

When BeyondPod downloads an episode, it adds a record to the "Episode Download History" that is maintained internally by BeyondPod. Episode Download History contains information of episodes that have been downloaded so they are not downloaded again after they are deleted. For episodes that were previously downloaded and deleted, in the view of feed posts, you will see episode button as "Re-Download" (vs. "Download") if the episode is in the episode Download History.

Each entry in Episode Download History, contains an "Episode Fingerprint" that uniquely identifies each episode. The episode fingerprint is calculated from data supplied by the Publisher of the feed and should be unique for each post (BeyondPod can use a fingerprint based on the post GUID or a combination of Post Published Date, Post Title and the Post Link). When BeyondPod checks what episodes it should download, it checks if the episode fingerprint already exists in the Episode Download History and if it does, it ignores the episode. As long as the post fingerprint of existing posts does not change between different versions of the feed, BeyondPod should be able to find a match and not re-download the episode. 

There is also another possibility that we have seen very rarely and is related to problems saving the Episode Download History to the device storage. If this is the case, all feeds will re-download episodes at all time. If that happens, simple uninstall and re-install BeyondPod usually fixes the issue.

(13 votes)
This article was helpful
This article was not helpful

Comments (0)
.errorcopyarea { margin: 0 0 1em; padding: 0.4em; background: #fff; border: solid 1px #d6d6d6; box-shadow: 1px 1px 2px #CCCCCC; width: 100%; height: 200px; } .copytoclipboard { margin: 15px 0 15px 0; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); font-weight: bold; border-bottom: 1px solid #d6d6d6; padding: 5px; } .titlegradient { background-image: linear-gradient(bottom, rgb(144,23,17) 46%, rgb(166,27,17) 73%, rgb(184,24,6) 87%); background-image: -o-linear-gradient(bottom, rgb(144,23,17) 46%, rgb(166,27,17) 73%, rgb(184,24,6) 87%); background-image: -moz-linear-gradient(bottom, rgb(144,23,17) 46%, rgb(166,27,17) 73%, rgb(184,24,6) 87%); background-image: -webkit-linear-gradient(bottom, rgb(144,23,17) 46%, rgb(166,27,17) 73%, rgb(184,24,6) 87%); background-image: -ms-linear-gradient(bottom, rgb(144,23,17) 46%, rgb(166,27,17) 73%, rgb(184,24,6) 87%); background-image: -webkit-gradient( linear, left bottom, left top, color-stop(0.46, rgb(144,23,17)), color-stop(0.73, rgb(166,27,17)), color-stop(0.87, rgb(184,24,6)) ); } #kayako_exception { text-align: left; color: #333; } #kayako_exception h1, #kayako_exception h2 { margin: 0; padding: 1em; font-size: 1em; font-weight: normal; background: #911; color: #fff; } #kayako_exception h1 a, #kayako_exception h2 a { color: #fff; } #kayako_exception h2 { background: #222; } #kayako_exception h3 { margin: 0; padding: 0.4em 0 0; font-size: 1em; font-weight: normal; } #kayako_exception p { margin: 0; padding: 0.2em 0; } #kayako_exception a { color: #333333; text-decoration: none; } #kayako_exception pre { overflow: auto; white-space: pre-wrap; } #kayako_exception table { width: 100%; display: block; margin: 0 0 0.4em; padding: 0; border-collapse: collapse; background: #fff; } #kayako_exception table td { border: solid 1px #ddd; text-align: left; vertical-align: top; padding: 0.4em; } #kayako_exception div.content { padding: 0.4em 1em 1em; overflow: hidden; } #kayako_exception pre.source { margin: 0 0 1em; padding: 0.4em; background: #fff; border: solid 1px #d6d6d6; box-shadow: 1px 1px 2px #CCCCCC; line-height: 1.2em; } #kayako_exception pre.source span.line { display: block; } #kayako_exception pre.source.collapsed { display: none; } #kayako_exception pre.source span.highlight { background: #FDEEF4; } #kayako_exception pre.source span.line span.number { color: #666; } #kayako_exception ol.trace { display: block; margin: 0 0 0 2em; padding: 0; list-style: decimal; } #kayako_exception ol.trace li { margin: 0; padding: 0; } #kayako_exception .collapsed { display: none; } #kayako_exception .sourcetitle { text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); } #kayako_exception .sourcedesc { text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); font-weight: bold; } #kayako_exception .variabletype { font-weight: none; font-style: italic; }
Notice
Undefined index: _commentsModule (./__swift/cache/01cd6d7c36a16692b8ffc1569c8564b1.php:54)
Copy to clipboard:
/Comments/Submit/33/" enctype="multipart/form-data" name="CommentsForm">
Post a new comment 
 
Full Name:
Email:
Comments:
Help Desk Software by Kayako Case