Certain files are never discovered by rygel

This here: Rygel not seeing any .m4v files
was fantastic. Thanks for the sqlite command. With it, I had a large number of files being found that had never been discovered earlier.

However, there are still some files that never pop up, despite of the same extension (mp4) as others; with only very small differences. I had already filed a bug against gstreamer’s libav. Though it seems that utility is not to be blamed.
Instead of repeating all the gory details here, I refer to

where the most relevant items can be found.

In case of any further requirements or questions, don’t hesitate to ask!

So the affecting file is running into timeouts in gst-discoverer-1.0 or is it working after a long time?

The default timeout in Rygel is 10 seconds

I dunno. I’m not convinced, since they are ALWAYS the same files that don’t get discovered. I ran the detection thrice, after intermediately offering an empty (unmounted) resources each time; thinking that would kind of clear the database.?
I’m not familiar with sqlite; maybe you could give me the command to clear/delete all entries from the command line, to start from scratch, to simplify matters?

I wouldn’t mind to extend the time frame, in order to exclude this possibility.

I do understand that the Gstreamer-guys simply closed the case, since - one way or another, sooner or later - the files were ‘discovered-1.0’.

The easiest way to start over is to just delete the database file

Is which one?
Tough I don’t think this will help with the original problem. How would I extend the discovery time?

No answer would make me sad.
I still like rygel. I have tried gerbera, and it does recognize these specific files, no problem. Gstreamer is probably too widespread in use for making problems, and the discovery at least works at a repeated go.
gerbera has a nice (G)UI, but its database keeps falling over, so it seems. With rygel I didn’t have this problem, at least. Plus, rygel makes a beautiful autodetection of newly added items (IF it can ‘discover’ these, that is).

The file is in $HOME/.cache/rygel/media-export.db, to extend the timeout you’d need to recompile

Good news - bad news.
It’s not the timing. The unseen files simply cannot be seen.
I created a sub-dir containing exactly the files used for my Gstreamer filing, nothing else. Harvesting brought up exactly one file, the one that had always been detected; while the other file, hitherto undiscovered, remains not discovered.
Since this is not the only one file, we seem to have to make with a systematic problem. And since Gstreamer discovered the file, question remains, why not rygel?
I do understand the opinion of the Gstreamer people stating that the discovery worked, at least at the second go, so nothing wrong on their side.

What can we do next?

Somehow give me sample file please

I have taken up the matter once again Gstreamer (please see there), because the failure seems to happen consistently for the initial ‘go’ of gst-discover-1.0, within less than the time-out of rygel. So it wouldn’t be the fault of rygel.

Okay, took some time, sorry.
But it does work with gstreamer. One needs to extend the detection time in gstreamer, I did up to 60 seconds, but then it would work.
Had tried gerbera in the meantime (I guess you know about it), and there the detection works flawlessly, though they don’t use the gstreamer libraries.
Despite of minor differences in the file details, some files also take a comparatively long time to open in VLC. Not knowing much about container formats, could it have to make with anything in there?

That is slightly weird since both gerbera and vlc should use libavcodec for the file - but perhaps taglib wins in gerbera and does not have the problem? no idea…

I only found gerbera for this problem here. It does a fabulous and reliable detection, has plenty of features and tweaks. Alas, it seems to miss a straightforward basic working method like with rygel: you enter a directory, and then it starts working as expected.

I can only agree with slomo in gstreamers github. While I can increase the timeout, it would make much more sense to provide a sample file and or logs & backtraces

The sample file used in this debug is 1.4 GB. The detection time yesterday was 17 seconds.
Please detail commands that are needed for logs and backtraces.

I can cut the file with ffmpeg to see if small chunk has the same problem.

Try adding --gst-debug="*:7" to your discoverer call and redirect stderr to some file, e.g.

gst-discoverer-1.0 -v foo.mp4 --gst-debug="*:7" 2>slow-discoverer.log

Please provide the result on the GStreamer ticket, not here

Thanks for the advice, done.

This topic was automatically closed 45 days after the last reply. New replies are no longer allowed.