Back to Top

My Playback position gets forgotten but I think I know why

9 posts / 0 new
Last post
Rogertcb
Offline
Last seen: 3 years 3 months ago
Joined: 01/30/2012 - 04:29
My Playback position gets forgotten but I think I know why

I'm using version 1.2.3267 but ever since I first started using it, several months ago, every DC version I've has been occasionally forgetting where it is in my podcast playback.

By this I mean that between pausing a playback and going back 8 or so hours later, my last playback position is no longer shown in the main playback bar at the bottom even though in the playback list the podcast entry shows as being partially played. I also noticed that DC is starting up (with the splash screen) even though I hadn't told it to exit when I last stopped using it. If I press the partially listened to podcast to resume playing it, it starts from the beginning instead of where I got to.

I think I've worked out why this is happening but getting round it is going to be a pain unless I'm willing to let my data package be frittered away.

The problem is connected with my data use monitoring app, Onavo, and the fact that I only enable my 3G data connection when I specifically need to use it. Most of the time the WiFi at home, work, friends houses & public transport does me just fine but I may have hours between WiFi hot-spots.

So yesterday, after installing the latest DC I had an alert on my phone from Onavo saying that DC was being a data hog. This was odd because as usual my 3G was disabled and I thought I'd configured DC to only download when WiFi was connected. The option Onavo offered was to force DC to exit whenever it tried to access 3G, which I chose to do.

When next I opened DC, I got the splash screen, it had forgotten which was my current podcast & attempting to resume it caused it to restart playback from the beginning even though before I selected it the progress bar in the podcast showed the correct resume point.

As I said, my DC is configured to only download when WiFi is connected & I keep my 3G turned off outside of hot spots so my data plan and battery isn't consumed by apps updating their advertising feeds, a pet hate of mine.

So for now if I want DC to remember the playback position in a podcast there's only one thing I can do: disable automatic feed updates in DC (frequency = NEVER) & try to remember to go to the feeds screen to hit the Update Feeds button and I have to allow sufficient time before I leave a WiFi area in order for it to download any new stuff thats turned up since I last refreshed it. That's going to be a right pain.

If you have any suggestions that will stop DC trying trying to use the 3G completely unless I make a preference change then I'd be very interested. Unfortunately, I need updates just before my daily commutes and they don't necessarily fit nicely into the 'Every 8 Hours' or 'Every 12 Hours' plans and once a day is too infrequent.

Roger

eric
Offline
Last seen: 2 years 4 months ago
Joined: 11/06/2008 - 22:02
The problem with starting a

The problem with starting a podcast from the beginning is a problem with some devices. I've added a faq article here that goes into some detail about it - http://www.doggcatcher.com/node/2632

Do you have a custom rom? If the resume is *always* failing to resume at the correct position after the app has been killed then I'd be interested in seeing your log right after the resume fails. I want to make sure the same thing is happening to you that is described in the faq.

There isn't a way currently to eliminate the mobile traffic caused by the feed updates. But I do have it on the todo list to add a preference to prevent feed updates over mobile connections.

Rogertcb
Offline
Last seen: 3 years 3 months ago
Joined: 01/30/2012 - 04:29
My phone is a Samsung Galaxy

My phone is a Samsung Galaxy Fit, GT-S5670, Android 2.2.1
There's no custom ROM & its not been rooted.
It doesn't fail to seek to the right position every time. For instance, it's playing back from the right position now despite (or maybe because) I played some music through another player (MoJo) yesterday and I had to reboot it just now when the WiFi wouldn't connect.

eric
Offline
Last seen: 2 years 4 months ago
Joined: 11/06/2008 - 22:02
You can send a log file (in

You can send a log file (in the DC menu) right after it happens and I'll see if what's happening to you matches what is described in the faq.

starix
Offline
Last seen: 9 years 11 months ago
Joined: 08/31/2012 - 03:18
I bought new phones (ZOPO

I bought new phones (ZOPO ZP100 and THL W2) and got the same error. Every time, when I close DoggCatcher it lost playback position. (((
1) Started DC
2) Start playback and rewind to ~30min
3) Exit DC ("Exit" in DC menu)
4) Started DC again.
5) Wait till it update feeds
6) Press "Play" button and DC start playing from ~7sec (!!!)
7) Stop playing and get log.
8) Pasted log to pastebin
http://pastebin.com/RdLydu3b

The same situation repeat at most MTK6575/6577 devices under Android 4.0.3.
I think it's a bug in firmware SDK, but I don't think that chinese programmers will fix any errors.
Any ideas?

eric
Offline
Last seen: 2 years 4 months ago
Joined: 11/06/2008 - 22:02
Sorry for the delay, your

Sorry for the delay, your post was buried under spam.

I looked at the log and only saw one time that pause was pressed and DC remembered the position at 25 seconds. But there was no resume after that, so I'm unable to tell if the android media player attempted to resume at the correct position.

08-31 14:40:25.482 I/DoggCatcher( 6467): MediaPlayerController::Pausing audio - [title: Laowaicast 113 — Китай: прощание с иллюзиями position: 24920] -> state: PLAYING [0ms] -> pausing at position 25704 [2ms] -> paused: true - [**20ms**]

starix
Offline
Last seen: 9 years 11 months ago
Joined: 08/31/2012 - 03:18
Ok, here some additional

Ok, here some additional logs.
I cut DC activity from log (pause, restart and resume playing): http://pastebin.com/raw.php?i=YN7WLvRF
Full log in moment of resume: http://pastebin.com/raw.php?i=x6W7CFdA

starix
Offline
Last seen: 9 years 11 months ago
Joined: 08/31/2012 - 03:18
Can You implement something

Can You implement something like this as a bugfix?

do
{
SetPosition(pos);
newPos = GetPosition();
} while(pos - newPos > 100);

eric
Offline
Last seen: 2 years 4 months ago
Joined: 11/06/2008 - 22:02
What is happening is what I

What is happening is what I suspected. We are telling the media player to seek to a position but it is ignore me. See how we are seeing to 4473759 below?

I/DoggCatcher(14106): DoggCatcherWidgetProvider::Updating widget - [3ms]
I/DoggCatcher(14106): MediaPlayerController::Prepared -> seeking media to 4473759 [0ms] - [53ms]
I/DoggCatcher(14106): DoggCatcherService::KeepAliveCount: 1 - [com.snoggdoggler.android.mediaplayer.MediaPlayerController@417a9460] fg: true - [28ms]
I/DoggCatcher(14106): AudioPlaylist::Updating playlist: All - Sorted by feed/date -> done - [**2ms**]
I/DoggCatcher(14106): AudioPlaylist::Finding next episode -> None - [**0ms**]
I/DoggCatcher(14106): AudioPlaylistManager::Remembering next item: -> null - [**2ms**]

I actually did try something just like this a few months ago but since some of the media player calls are happening on other threads with callbacks, I wasn't able to get that type of logic working reliably. Mostly because I can't cause the problem, so I can see when it's fixed.